1.1 什么是Hadoop

  • 1.1.1 Hadoop概述
    • Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。HDFS的高容错性、高伸缩性等优点允许用户将Hadoop部署在低廉的硬件上,形成分布式系统;MapReduce分布式编程模型允许用户在不了解分布式系统底层细节的情况下开发并行应用程序。所以用户可以利用Hadoop轻松地组织计算机资源,从而搭建自己的分布式计算平台,并且可以充分利用集群的计算和存储能力,完成海量数据的处理。
  • 1.1.2 Hadoop的历史
  • 1.1.3 Hadoop 的功能与作用
  • 1.1.4 Hadoop 的优势
    • 高可靠性。Hadoop按位存储
    • 高扩展性。Hadoop是在可用的计算机集簇分配数据完成计算任务的,这些集簇可以方便的扩展到数以千计的节点中。
    • 高效性。因为节点之间动态地移动数据,保证各个节点的动态平衡。
    • 高容错性。Hadoop能够自动保存数据的多份副本,并且能够自动将失败的任务重新分配。
  • 1.1.5 Hadoop 应用现状和发展趋势
    • Hadoop最大贡献者Yahoo!

1.2 Hadoop 项目及其结构

  • Hadoop项目结构图
  • Common:它主要包括FileSystem、RPC和串行化库。它们为在廉价硬件上搭建云计算环境提供基本的服务,并且会为允许在该平台上的软件开发提供所需的API。
  • Avro:是用于数据序列化的系统。它提供丰富的数据结构类型、快速可压缩的二进制数据格式、存储持久性数据的文件集、远程调用RPC的功能和简单的动态语言集成功能。其中代码生成器既不需要读写文件数据,也不需要使用或实现RPC协议,它只是一个可选的对静态类型语言的实现。Avro系统依赖于模式(Schema),数据的读写是在模式之下完成的。(待续)