yarn任务调度--capacity scheduler(容量调度) / fair schedule

2019/2/19 星期二

yarn任务调度--capacity scheduler(容量调度) / fair scheduler(公平调度)
由于集群资源有限,当无法满足众多application 的资源请求时,yarn 需要适当的策略对application 的资源请求进行调度;
Scheduler 概述
Yarn 中实现的调度策略有三种:FIFO/Capacity/Fair Schedulers
(1)FIFO Scheduler:
将所有application 按提交的顺序排队,先进先出
优点---->简单易懂且不用任何配置
缺点---->不适合于shared clusters;大的应用会将集群资源占满从而导致大量应用等待

(2)Capacity Scheduler
将application 划分为多条任务队列,每条队列拥有相应的资源 在队列的内部,资源分配遵循FIFO 策略队列资源支持弹性调整:一个队列的空闲资源可以分配给“饥饿”队列(注意:一旦之前的空闲队列需求增长,因为不支持“先占”,不能强制kill 资源container,则需要等待其他队列释放资源;为防止这种状况的出现,可以配置队列最大资源进行限制)
任务队列支持继承结构

(3)Fair Scheduler
不需要为特定small application 保留资源,而是在需要执行时进行动态公平分配;动态资源分配有一个延后,因为需要等待large job 释放一部分资源 Small job 资源使用完毕后,large job 可以再次获得全部资源 Fair Scheduler 也支持在application queue 之间进行调度

猜你喜欢

转载自blog.51cto.com/12445535/2351785