Hadoop分布式系统基础框架具有创造性和极大的扩展性,用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。简单来说,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。
Hadoop的主要组成部分架构如图5-2所示。Hadoop的核心模块包含HDFS,MapReduce和Common。HDFS是分布式文件系统;MapReduce提供了分布式计算编程框架;Common是Hadoop体系最底层的一个模块,为Hadoop各模块提供基础服务。
图5-2 Hadoop主要模块
Hadoop的其他模块包含HBase,Pig,Yarn,Hive,Chukwa,Avro,Zookeeper和Mahout等。其中HBase基于HDFS,是一个开源的基于列存储模型的分布式数据库;Pig是处理海量数据集的数据流语言和运行环境,运行在HDFS和MapReduce之上;Yarn是Hadoop集群的资源管理系统;Hive可以对存储在Hadoop里面的海量数据进行汇总,并能使即时查询简单化;Chukwa是基于Hadoop的大集群监控系统;Avro是可以使Hadoop的RPC模块通信速度更快、数据结构更紧凑;Zookeeper是一个分布式、可用性高的协调服务,提供分布式锁之类的基本服务用于构建分布式应用;Mahout是一个在Hadoop上运行的可扩展的机器学习和数据挖掘类库(例如分类和聚类算法)。随着Hadoop的发展,其框架还在不断更新,继续研发其他的模块来支撑海量数据的运算与存储。(www.xing528.com)
对比Hadoop 1.0和Hadoop 2.0,其核心部分变化如图5-3所示。
图5-3 Hadoop 1.0和Hadoop 2.0核心对比图
其中Hadoop 2.0中的Yarn是在Hadoop 1.0中的MapReduce基础上发展而来的,主要是为了解决Hadoop 1.0扩展性较差且不支持多计算框架而提出的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。