弄清MapReduce和YARN这几点不同,才能真正掌握Hadoop的核心

对于Hadoop1.0Hadoop2.0的区别网上有很多资料,其中大部分是在对比MapReduce1.0YARN,指出YARN的诞生很好的解决了MRv1存在的问题。


但如果再引入MapReduce2.0很多人就产生了疑惑,难道YARN不就是MRv2吗?

其实YARNMRv2是两个独立存在的个体,而MRv2MRv1又具有相同的编程模型。实际上Hadoop2.0的改进是依托于MRv2YRAN的共同作用。


今天就给对比介绍一下MapReduce1.0MapReduce2.0YARN之间的联系。


MapReduce1.0

MapReduce 1.0由两部分组成:编程模型和运行时环境。基本编程模型是将问题抽象成MapReduce两个阶段;运行环境由两类服务组成:JobTrackerTaskTrackerJobTracker负责资源管理和所有作业的控制,而TaskTracker负责接收来自JobTracker的命令并执行它。HDFSMapReduce组成Hadoop 1.0


Hadoop1.0 的缺陷


扩展性差:JobTracker兼备资源管理和作业控制两个功能,当MR任务非常多时,造成很大的内存开销 ,严重制约了整个集群的可扩展性。

可靠性差:JobTracker存在单点故障,JobTracker出现问题将导致整个集群不可用。

资源利用率低:资源无法合理分配,导致有效利率低。

无法支持多种计算框架:Hadoop 1.0只支持MapReduce这种离线批处理计算模式,无法支持内存计算、流式计算、迭代式计算等。


MapReduce2.0

MRv2MRv1相比编程接口、数据处理引擎完全一样,具有相同的编程模型,不同的是资源管理和作业管理系统。

MRv1中均是由JobTracker实现的,集两个功能于一身,而在MRv2中,将这两部分分开了,分别由组件ResourceManagerApplicationMaster实现,这样大大减少了MapReduceJob Tracker的压力。

MRv2变为一个作业控制进程ApplicationMaster,且ApplicationMaster仅负责一个作业的管理;资源管理则由YARN完成。

MRv1是一个独立的离线计算框架,而MRv2可以看做运行于资源管理框架YARN之上的MRv1

1个支持NameNode横向扩展的HDFS1个资源管理系统YARN1个运行在YARN上的MapReduce组成Hadoop 2.0.


Hadoop2.0 优势

相比于Hadoop 1.0Hadoop 2.0功能更加强大,且具有更好的扩展性、性能,并支持多种计算框架。


YARN

YARNHadoop 2.0的资源管理器。它是一个资源统一管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

YARN上面可以运行各种计算框架(包括MapReduceSparkStorm等),我们一般将运行在YARN上的计算框架称为“X on YARN”。


MapReduce-On-YARNYARN上的离线计算;

Spark-On-YARNYARN上的内存计算;

Storm-On-YARNYARN上的实时/流式计算;

Tez-On-YARNYARN上的DAG计算。

 

以上就是Hadoop1.0Hadoop2.0MapReduce1.0MapReduce2.0YARN之间的真实关系。


更多Hadoop大数据/数据挖掘技术可以到 www.badouxueyuan.cn

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值