Hadoop 1.x 时期的生态体系架构




Hadoop 2.x时期的生态体系架构







Hadoop1.x


hadoop1.x是指hadoop的第1.0时代,从版本的角度来看基本是指在hadoop0.23.x和hadoop1.2.1版本之前的所有发行版,Cloudera公司发行的CDH3系列,时间上大概是在2013年以前,其核心主要由HDFS和MapReduce组成,HDFS是用于存储数据的,MapReduce是用于计算处理数据的。

Hadoop2.x


hadoop2.x是指hadoop的第2.0代,一般是指从2013年2月发布的hadoop2.0.3版以后的版本,Cloudera公司发行的CDH4、CDH5系列,其核心组件除了原有的HDFS、MapReduce以外又增加了Yarn资源管理系统,Yarn负责整个集群资源的管理和调度,而原有的MapReduce则运行在Yarn上面。




两者的区别

从整体的框架方面


hadoop1.0是由HDFS和MR组成,HDFS是由一个NameNode和多个DataNode组成,MR由一个JobTracker和TaskTracker组成,都是主从结构。

hadoop2.0优化了以下方面内容:


1.解决了hadoop1.0的单点故障问题,由于架构设计原因hadoop1.0的NameNode只有一个节点,一旦出现问题将导致整个集群瘫痪不能使用,对于这些hadoop2.0提出了HDFS
Federation,它让多个NameNode(2.x实际暂时只支持两个,3.x版本才真正实现了多NameNode)分管不同的目录进而实现访问隔离和横向扩展,两个NameNode分为Active和Standbay状态,当Active状态的NameNode主现了问题可以配置成自动切换成Standbay的那个NameNode.



2.将JobTracker中的资源管理和作业控制分开,分别由ResourceManager(负责所有应用程序的资源分配)和ApplicationMaster(负责管理一个应用程序)实现,即引入了资源管理框架Yarn,从而使MR在扩展性和多框架支持等方面的不足得到了很大提升。


3.Yarn作为Hadoop2.0中的资源管理系统,它是一个通用的资源管理模块,不仅仅只是对MR一种框架,也可以在上面运行其他框架,如Tez、Spark、Storm等。

从MapReduce计算框架来讲




MapReduce1.0计算框架主要由三部分组成:编程模型、数据处理引擎和运行时环境。它的基本编程模型是将问题抽象成Map和Reduce两个阶段,其中Map阶段将输入的数据解析成key/value,迭代调用map()函数处理后,再以key/value的形式输出到本地目录,Reduce阶段将key相同的value进行规约处理,并将最终结果写到HDFS上;它的数据处理引擎由MapTask和ReduceTask组成,分别负责Map阶段逻辑和Reduce阶段的逻辑处理;它的运行时环境由一个JobTracker和若干个TaskTracker两类服务组成,其中JobTracker负责资源管理和所有作业的控制,TaskTracker负责接收来自JobTracker的命令并执行它。






MapReducer2.0具有与MRv1相同的编程模型和数据处理引擎,唯一不同的是运行时环境。MRv2是在MRv1基础上经加工之后,运行于资源管理框架Yarn之上的计算框架MapReduce。它的运行时环境不再只由JobTracker和TaskTracker等服务组成,而是变为通用资源管理系统Yarn和作业控制进程ApplicationMaster,其中Yarn负责资源管理的调度而ApplicationMaster负责作业的管理,相当于把之前JobTracker所做的一些事情进行了分担。




以上只是两个大的方面,但2.x版本也一直在不断的更新中像HDFS的快照、权限的管理、缓存的管理等等新的特性也慢慢加入的进来。




以上资料仅供学习参考。











友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信