yarn调度器
1.FIFO Scheduler : 队列调度器,谁先提交谁先执行(先来后到)
2.Capacity Scheduler(容量调度器):以队列的形式配置集群资源,每个队列可以抢占队列资源,多个队列可以同时执行任务,但是一个队列内部还是FIFO.
3. Fair Schduler(公平调度器),同样的以队列的形式配置几圈资源,每个队列可以抢占资源,当被抢占的队列有任务时,抢占的资源需要奉还(用完在奉还)
集群默认调度器 是Capacity Scheduler(容量调度器)
容量调度器的配置
例子
root
├── prod
└── dev
├── mapreduce
└── spark
<configuration>
// root队列 包括哪些?
<property>
<name>yarn.scheduler.capacity.root.queues</name>
<value>prod,dev</value>
</property>
//root.dev下的队列有哪些
<property>
<name>yarn.scheduler.capacity.root.dev.queues</name>
<value>mapreduce,spark</value>
</property>
//prod dev 队列能够 的资源是多少
<property>
<name>yarn.scheduler.capacity.root.prod.capacity</name>
<value>40</value>
</property>
//dev 队列能够 的资源是多少
<property>
<name>yarn.scheduler.capacity.root.dev.capacity</name>
<value>60</value>
</property>
// dev 队列最少能够用 的资源是多少
<property>
<name>yarn.scheduler.capacity.root.dev.maximum-capacity</name>
<value>75</value>
</property>
<property>
// 上有队列下有队列 ,下面的队列的资源是上面队列资源的多少,不是整个的多少
<name>yarn.scheduler.capacity.root.dev.mapreduce.capacity</name>
<value>50</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.dev.spark.capacity</name>
<value>50</value>
</property>
</configuration>
容量调度器的配置
1 编辑集群内的capacity-scheduler.xml配置文件 输入一下内容,把原来的注释上
<configuration>
<property>
<name>yarn.scheduler.capacity.root.queues</name>
<value>prod,dev</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.dev.queues</name>
<value>mapreduce,spark</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.prod.capacity</name>
<value>40</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.dev.capacity</name>
<value>60</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.dev.maximum-capacity</name>
<value>75</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.dev.mapreduce.capacity</name>
<value>50</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.dev.spark.capacity</name>
<value>50</value>
</property>
</configuration>
第二 将配置文件进行分发
scp capacity-scheduler.xml node02: P W D