一、概述
容量调度器是YARN提供的三种调度器中的一种,这种调度器允许多个组织(队列)共享一个Hadoop集群,每个组织(队列)所分配的集群资源是固定的且可配置的。每个组织(队列)内部还可以进一步划分成小队列,小队列之间共享整个组织(队列)的资源。在一个队列中,使用FIFO规则进行任务调度。
容量调度器是Hadoop默认使用的调度器,但是像CDH这样的Hadoop分布式项目,默认使用的公平调度器(Fair Scheduler)。
二、配置
1. 修改YARN使用的调度器:
位置:$HADOOP_HOME/etc/hadoop/yarn-site.xml
添加配置:
key: yarn.resourcemanager.scheduler.class
value: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler
2. 定义调度队列
位置:$HADOOP_HOME/etc/hadoop/capacity-scheduler.xml
我本地设置了四个调度队列,它们的结构模型如下:
root
--default
--bigdataU
--azkaban
首先,root队列下分别是三个子队列:default、bigdataU、azkaban,配置队列选项我们可以直接在配置文件中使用
yarn.scheduler.c