一、YARN框架与MapReduce1.0框架的对比分析

  从MapReduce1.0框架发展到YARN框架,客户端并没有发生变化,其大部分调用API及接口都保持兼容,因此,原来针对Hadoop1.0开发的代码不用做大的改动,就可以直接放到Hadoop2.0平台上运行

 

总体而言,YARN相对于MapReduce1.0来说具有以下优势:
大大减少了承担中心服务功能的ResourceManager的资源消耗
ApplicationMaster来完成需要大量资源消耗的任务调度和监控
多个作业对应多个ApplicationMaster,实现了监控分布化

MapReduce1.0既是一个计算框架,又是一个资源管理调度框架,但是,只能支持MapReduce编程模型。而YARN则是一个纯粹的资源调度管理框架,在它上面可以运行包括MapReduce在内的不同类型的计算框架,只要编程实现相应的ApplicationMaster

YARN中的资源管理比MapReduce1.0更加高效
以容器为单位,而不是以slot为单位

二、YARN的发展目标

  YARN的目标就是实现“一个集群多个框架”,为什么?

一个企业当中同时存在各种不同的业务应用场景,需要采用不同的计算框架
MapReduce实现离线批处理
使用Impala实现实时交互式查询分析
使用Storm实现流式数据实时分析
使用Spark实现迭代计算

这些产品通常来自不同的开发团队,具有各自的资源调度管理机制
为了避免不同类型应用之间互相干扰,企业就需要把内部的服务器拆分成多个集群,分别安装运行不同的计算框架,即“一个框架一个集群”

导致问题
集群资源利用率低
数据无法共享
维护代价高

  YARN的目标就是实现“一个集群多个框架”,即在一个集群上部署一个统一的资源调度管理框架YARN,在YARN之上可以部署其他各种计算框架
  由YARN为这些计算框架提供统一的资源调度管理服务,并且能够根据各种计算框架的负载需求,调整各自占用的资源,实现集群资源共享和资源弹性收缩
  可以实现一个集群上的不同应用负载混搭,有效提高了集群的利用率
  不同计算框架可以共享底层存储,避免了数据集跨集群移动

yarn是mapreduce的升级版本吗 yarn mapreduce的区别_资源管理

          

yarn是mapreduce的升级版本吗 yarn mapreduce的区别_资源调度_02