在完成分析Hadoop2源码的准备工做后,咱们进入到后续的源码学习阶段。本篇博客给你们分享,让你们对Hadoop V2有个初步认识,博客的目录内容以下所示:缓存
本篇文章的源码是基于Hadoop-2.6.0来分析,其余版本的Hadoop的源码能够此做为参考分析。安全
其实,早年Google的核心竞争力是它的计算平台,Google对外公布的论文有一下内容:网络
MapReduce 框架
可见MapReduce并非Hadoop所独有的功能,以后Apache基金会获得相似的项目,这些项目有隶属于Hadoop项目,分别是:分布式
相似于这种思想的开源项目还有不少,如:Yahoo用Pig来处理巨大数据,Facebook用Hive来进行用户行为分析等。Hadoop的两大核心功能分别为HDFS和MapReduce,MapReduce是一个适合作离线计算的框架,它依赖于HDFS,HDFS做为一个分布式文件存储系统,是全部这些项目的基础支撑。下图为HDFS的支撑图,以下图所示:工具
Hadoop包与包之间依赖的关系较为复杂,究其缘由为HDFS提供了一个分布式文件存储系统,该系统提供庞大的API,使得分布式文件系统底层的实现,依赖于某些高层的功能,这些功能互相引用,造成网状的依赖关系。举个例子,如conf包,它用于读取系统配置文件,依赖于fs包,主要是读取相应的配置文件时,须要使用到文件系统,而部分文件系统的功能都被抽象在fs包中。下图时Hadoop V2项目的核心部分依赖包,以下图所示:oop
后面的章节,主要给你们分享如下几个部分,如:mapreduce,fs,hdfs,ipc,io,yarn。学习
下面对上图列出来的各个包作下介绍说明,各个包的功能以下所示:大数据
Hadoop V2在底层设计上对比Hadoop V1是有区别的,新增HA,使得Hadoop V1中存在的单点问题获得了很好得解决;Hadoop V2新增Yarn系统,使得集群得资源管理和调度更加得完美,大大减小ResourceManager的资源消耗,而且让监测每个 Job 子任务 (tasks) 状态的程序分布式化了,更安全、更优美。同时,使得多种计算框架能够运行在一个集群中。编码
这篇文章就和你们分享到这里,若是你们在研究和学习的过程当中有什么疑问,能够加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!