Yarn中,负责给应用分配资源的就是Scheduler
在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,Fair Scheduler
FIFO Scheduler 先进先出策略
在进行资源分配的时候,先给队列中最先上的应用进行分配资源,待最头上的应用需求满足后再给下一个分配
Capacity Scheduler
Capacity 调度器允许多个组织共享整个集群,每个组织可以获得集群的一部分计算能力,为每个组织分配专门的队列,然后再为每个队列分配一定的集群资源。在队列内部还是FIFO
Fair Scheduler
Fair调度器会为所有运行的job动态的调整系统资源。当第一个大job提交时,只有这一个job在运行,此时它获得了所有集群资源;当第二个小任务提交后,Fair调度器会分配一半资源给这个小任务,让这两个任务公平的共享集群资源。最终效果就是Fair调度器即得到了高的资源利用率又能保证小任务及时完成。