Yarn的工作机制

yarn是一个分布式系统,它对外提供的资源调度服务,是由一系列服务进程协同完成的

yarn都有哪些服务进程?

  1. Resource Manager(活跃的只有一个,可以有多个备用的–HA模式下)
    职责: 统管整个集群中的所有资源(Node Manager)
    负责响应客户端的请求
    负责调度客户端的任务(哪个job先执行,哪个job后执行)
    负责为客户的job分配资源(容器)

  2. Node Manager(多个)
    职责: 统管NM进程所在机器的所有资源,并通过心跳通信向RM汇报自身的资源情况
    负责为客户创建容器
    负责回收客户用完的容器
    如果nodemanager挂了,resourcemanage会重新指派其他的nodemanager

yarn为客户提供资源调度的工作流程
1. resource manager接收客户端的任务提交申请(资源申请)
2. resource manager将客户端申请放入调度队列中,安排分配资源的优先级
3. 为某个客户的申请指派特定的nodemanager去创建所需的容器
4. nodemanager从resourcemanager处领取到创建容器的任务,并创建容器
5. 客户向nodemanager发送请求,在指定容器中执行程序启动命令
6. nodemanager会回收客户使用完成的容器资源

yarn的三大调度:
FIFO : 先进先出,优先满足提交时间更早的job的资源需求
不太适合用于大型的共享集群(大job会占用所有资源很长时间,导致其他job只能等待)
Capacity Scheduler(基于容量的调度器,默认) :任务并行数和队列数一样,集群性能差一些,还想有一定的并发度,可以选择这个
预分配资源(用定义队列的方式)
大job可以放在大队列中运行,不耽误小job在别的队列中运行
但是在同一个队列中,多个job也是遵循FIFO的策略(一个任务执行完才会执行下一个)
Fair Scheduler(公平调度器):任务并发量更大,集群性能比较高的话可以采取公平调度器
可以预分配队列
但是队列和队列之间可以互相利用对方的资源
在一个队列中,多个job之间遵循公平调度原则,各

yarn的新特性:
(1)ResourceManager HA
(2)磁盘容错(nodemanager挂了会重新调配)
(3)资源调度器(以前只有fifo和capacity)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值