一、概述
在YARN中,负责给应用分配资源的就是Scheduler。其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景。为此,YARN提供了多种调度器和可配置的策略供选择。
在YARN中有三种调度器可以选择:FIFO Scheduler(先进先出调度器) ,Capacity Scheduler(容量调度器),Fair Scheduler(公平调度器)。
默认情况下,Apache版本YARN使用的是Capacity调度器。如果需要使用其他的调度器,可以在yarn-site.xml中的yarn.resourcemanager.scheduler.class进行配置,具体的配置方式如下:
在YARN WebUI界面:http://node2.itcast.cn:8088/cluster
在YARN中,有层级队列组织方法,它们构成一个树结构,且根队列叫做root。所有的应用都运行在叶子队列中(即树结构中的非叶子节点只是逻辑概念,本身并不能运行应用)。对于任何一个应用,都可以显式地指定它属于的队列,也可以不指定从而使用username或者default队列。下图就是一个队列的结构:
二、FIFO Scheduler(先进先出调度器)
FifoScheduler是