YARN与MapReduce1的区别

YARN与MapReduce1的区别

1.组成对比

 MapReduce1中,两类守护进程控制着作业执行过程:一个JobTracker和一个或多个TaskTracker。JobTracker通过调度TaskTracker上运行的任务来协调所有运行在系统上的作业。TaskTracker在运行任务的同时将运行进度报告发送给JobTracker,JobTracker由此记录每项作业任务的整体进度情况。JobTracker同时负责作业调度和任务进度监控。
 Hadoop对JobTracker赋予的功能过多造成负载过重。

 YARN则将JobTracker的职责交由不同的实体担负:资源管理器和应用程序管理。资源管理器与具体应用程序无关,负责整个集群的资源管理。应用程序管理只负责管理一个作业,直接与应用程序相关。资源管理器由Resource Manager负责,其专管资源管理和调度。应用程序管理由Application Master负责,其负责与具体应用程序相关的任务切分、任务调度和容错等。
 MapReduce1中JobTracker也负责存储已完成作业的作业历史。而在YARN中,与之等价的角色是时间轴服务器,主要用于存储应用历史。YARN中与TaskTracker等价的角色是节点管理器。

MapReduce1YARN
JobTracker资源管理器、应用程序管理、时间轴服务器
TaskTracker节点管理器
Slot容器

2.扩展性对比

 与MapReduce1相比,YARN可以在更大规模的集群上运行。当节点数达到4000,任务数达到40000时,MapReduce1会遇到可扩展性瓶颈,因为JobTracker必须同时管理作业和任务。而YARN利用资源管理器和应用程序管理分离的架构优点克服了这个局限性,可以扩展到面向将近10000个节点和100000个任务。因为每个作业都对应一个专门的Application Master,该管理进程在应用的持续期间运行。

3.利用率对比

 MapReduce1中,每个TaskTracker都配置有若干长度的slot,这些slot是静态分配的,在配置时候就被划分为map slot和reduce slot。一个map slot仅能用于运行一个map任务,一个reduce slot仅能用于运行一个reduce任务。

 而在YARN中,一个节点管理器管理一个资源池,而不是指定的固定数目的slot。YARN上运行的MapReduce不会出现由于集群中仅有map slot可用导致reduce任务必须等待的情况。如果能够获得运行任务的资源,应用就会正常进行。应用可以按需请求资源,而不是请求一个不可分割的、对于特定的任务而言可能会太大或太小的slot。

4.多租户

 YARN可以向MapReduce以外的其他类型的分布式应用开放Hadoop,MapReduce仅是许多YARN应用中的一个。用户甚至可以在同一个YARN集群上运行不同版本的MapReduce,这使得升级MapReduce的过程更好管理。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

loser与你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值