Hadoop 1.x与Hadoop 2.x的区别

 我来答
完满且闲雅灬抹香鲸P
2022-06-17 · TA获得超过1.7万个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:70.6万
展开全部

(1)HDFS的改进

HDFS的NameNode可以以集群的方式布署,增强了NameNodes的水平扩展能力和高可用性,分别体现在HDFS Federation与HA.

(2)MapReduce的改进

MapReduce将JobTracker中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的组件,并更名为YARN(Yet Another Resource Negotiator)翻译过来就是 另一个资源谈判者

Hadoop 1.x中 NameNode只能有一个 ,虽然可以通过SecondaryNameNode与NameNode进行数据同步备份,但是总会存在一定的时延,如果NameNode挂掉,但是如果有部份数据还没有同步到SecondaryNameNode上,还是可能会存在着数据丢失的问题,做数据最怕的就是数据丢失.

针对Hadoop1.0单NameNode一旦挂掉则不能恢复集群,Hadoop2.0提出了HA,指的是可以同时启动2个NameNode.其中一个处于工作(Active)状态,另一个处于随时待命(Standby)状态.这样,当一个NameNode所在的服务器挂掉时,可以在数据不丢失的情况下,手工或者自动切换到另一个NameNode提供服务.

Hadoop1.x的HDFS架构的局限:

(1)访问隔离

现在大部分公司的集群都是共享的,每天有来自不同group的不同用户提交作业.单个namenode难以提供隔离性,即:某个用户提交的负载很大的job会减慢其他用户的job,单一的NameNode难以像HBase按照应用类别将不同作业分派到不同NameNode上.

(2)横向扩展

HDFS的底层存储是可以水平扩展的(解释:底层存储指的是datanode,当集群存储空间不够时,可简单的添加机器已进行水平扩展),但NameNode不可以.

(3)NameNode性能

文件操作的性能制约于单个NameNode的吞吐量,单个NameNode当前仅支持约60K的task,因此要想办法增加NameNode.

针对Hadoop1.0单NameNode制约HDFS的扩展性问题,Hadoop2.0提出了HDFS Federation,它让多个NameNode分管不同的目录进而实现访问隔离和横向扩展,同时彻底解决了NameNode单点故障问题.

Hadoop1.x的MapReduce框架的主要局限:

(1)JobTracker 是 Map-Reduce 的集中处理点,存在单点故障;

(2)JobTracker 完成了太多的任务,造成了过多的资源消耗,当 map-reduce job 非常多的时候,会造成很大的内存开销,潜在来说,也增加了 JobTracker 失效的风险,这也是业界普遍总结出老 Hadoop 的 Map-Reduce 只能支持 4000 节点主机的上限;

针对上述问题,Hadoop2.0将JobTracker中的资源管理和作业控制分开,分别由ResourceManager(负责所有应用程序的资源分配)和ApplicationMaster(负责作业控制)实现,即引入了资源管理框架YARN.由于YARN具有通用性,因此YARN也可以作为其他计算框架的资源管理系统,不仅限于MapReduce,也是其他计算框架(例如Spark)的管理平台. 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式