Hadoop2.0 | YARN资源调度

2019-07-06  本文已影响0人  icebreakeros

YARN资源调度

YARN容错

ResourceManager
存在单点故障
正在基于ZooKeeper实现HA

NodeManager
失败后,RM将失败任务告诉对应的AM
AM决定如何处理失败的任务

ApplicationManager
失败后,由RM负责重启
RMAppMaster会保存已经运行完成的Task,重启后无需重新运行

YARN资源调度

YARN调度框架

双层调度框架
RM将资源分配给AM
AM将资源进一步分配给各个Task

基于资源预留的调度策略
资源不够时,会为Task预留,直到资源充足
all or nothing策略不同(Apache Mesos
支持资源抢占模型

资源调度器
FIFO
Fair Scheduler
Capacity Scheduler

资源分配模型

调度器对比

FifoScheduler
最简单的调度器,按照先进先出的方式处理应用

CapacityScheduler
FifoScheduler的多队列版本,每个队列可以限制资源使用量
队列间的资源分配以使用量作排列依据,使得容量小的队列有竞争优势
使得hadoop应用能够被多用户使用,且最大化整个集群资源的吞吐量
启动容量调度器之后,调度器会从classpath中加载capacity-scheduler.xml文件,完成容量调度器的初始化

FairScheduler
多队列,多用户共享资源。使得hadoop应用能够被多用户公平地共享整个集群资源的调度器
根据队列设定的最小共享量或者权重等参数,按比例共享资源

YARN资源隔离方案

支持内存和CPU两种资源隔离
内存是一种“决定生死”的资源
CPU是一种“影响快慢”的资源

内存隔离
基于线程监控的方案
基于Cgroups的方案

CPU隔离
默认不对CPU资源进行隔离
基于Cgroups的方案

YARN资源调度语义

支持的语义
请求某个特定节点/机架上的特定资源量
将某些节点加入(或移除)黑名单,不再为自己分配这些节点上的资源
请求归还某些资源

不支持的语义
请求任意节点/机架上的特定资源量
请求一组或几组符合某种特质的资源
超细粒度资源
动态调整Container资源

上一篇 下一篇

猜你喜欢

热点阅读