YARN上提供三套调度器:Capacity Scheduler、Fair Scheduler、FIFO Scheduler。本文将对这几种调度器进行描述。
FIFO Scheduler:单队列单用户调度器。
Capacity Scheduler和Fair Scheduler具有很多相似的地方:1)多队列多用户调度器;2)每个队列可配置子队列;3)可以为每一个队列分别配置资源,包括最小资源量和最大资源量,并指定队列的用户权限;4)当一个队列的资源空闲时,可以分配给其他队列使用;5)队列内部的调度算法:均支持优先级的FIFO调度算法和DRF调度算法,而Fair Scheduler还支持fair调度策略,即n个作业的资源量均为1/n。
但这两种调度器的核心调度策略不一样:当有资源空闲时,Capacity Scheduler会将资源优先分配给资源占用少的队列,而Fair Scheduler会将资源优先分配给缺额大的队列。
参考资料: hadoop2.0 yarn 之 资源调度器 基于hadoop2.2.0