一、简介 Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。 图1 Hadoop主要项目 MapReduce:分布式数据处理模型和执行环境,运行于大型商用机集群。 HDFS:分布式文件系统,运行于大型商用机集群。 Zookeeper:一个分布式、可用性高的协调服务,提供分布式锁之类的基本服务用于构建分布式应用。 HBase:一个分布式、按列存储数据库,使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询(随机读取)。 Pig:一种数据流语言和运行环境,用以检索非常大的数据集,运行在MapReduce和HDFS的集群上。 Hive:一个分布式、按列存储的数据仓库,管理HDFS中存储的数据,并提供基于SQL的查询语言(由运行时引起翻译成MapReduce作业)用以查询数据。 Mahout:一个在Hadoop上运行的可扩展的机器学习和数据挖掘类库(例如分类和聚类算法)。 Avro:一种支持高效、跨语言的RPC以及永久存储数据的序列化系统。 Sqoop:在数据库和HDFS之间高效传输数据的工具。 二、核心 Hadoop对应于Google三驾马车:HDFS对应于GFS,即分布式文件系统,MapReduce即并行计算框架,HBase对应于BigTable,即分布式NoSQL列数据库,外加Zookeeper对应于Chubby,即分布式锁设施。 图2 Hadoop核心系统 三、应用 Hadoop如何应用依据具体业务而不同,可能如下图: 图3 Hadoop应用案例 四、社区 下面是一张Hadoop生态图谱,琳琅满目: 图4 Hadoop生态图谱
各大互联网公司的研究、开发和应用都直接或间接地促进Hadoop社区的发展,从而使得Hadoop生态圈更加丰富多彩。
|
|