Yarn

 

 

整调度流程为:

整个的调度流程为:

  • 1.应用程序通client类向ResourceManager提交程序,Application运行所需要的入口类,出口类,运行的命令,运行所需要的cpu资源和内存资源,jar包资源。

  • 2.ResourceManager通过内部的调度器,去集群中寻找资源,找到资源后与NodeManager进行通信,去启动相应的ApplicationMaster,AM会按照事先的规划将任务切分为许多的task任务。

  • 3.ApplicationMaster之后向ResourceManager进行申请资源,RM会将资源进行动态的分配。

  • 4.ApplicationMaster获得资源后会再将资源进一步分配给内部的task.

  • 5.之后,ApplicationMaster会向NodeManager进行请求,让NM给启动起来Task,NM会把Task封装到Container中允许。

ResourceManager

整个集群只有一个,负责集群资源的统一管理和调度

  • 处理客户端请求
  • 启动监控ApplicationMaster
  • 监控NodeManager
  • 资源分配与调度

NodeManager

整个集群存在多个,负责单节点资源管理与使用

处理来自ResourceManager的命令
处理来自ApplicationMaster的命令

ApplicationMaster

每一个应用有一个,负责应用程序的管理
数据切分,申请资源,任务监控,任务容错

Container

对任务环境的抽象

Yarn的容错性

ResourceManager存在单点故障,基于Zookeeper实现HA,通常任务失败后,RM将失败的任务告诉AM,RM负责任务的重启,AM来决定如何处理失败的任务。RMAppMaster会保存已经运行完成的Task,重启后无需重新运行。

Yarn资源调度框架与调度器

Yarn采用的双层调度框架,RM将资源分配给AM,AM再将资源进一步分配给Task,资源不够时会为TASK预留,直到资源充足。在Hadoop1.0中我们分配资源通过slot实现,但是在Yarn中,直接分配资源。

资源调度器有:FIFO,Fair scheduler,Capacity scheduler

Yarn支持CPU和内存两种资源隔离,内存时决定生死的资源,CPU时影响快满的资源,内存隔离采用的是基于线程监控和基于Cgroup的方案。



 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

执于代码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值