我們開辟出兩個隊列,一個是生產上需要的隊列prod,一個是開發上需要的隊列dev,開發下面又分了eng工程師和science科學家,我們這樣就可以指定隊列
- 1、關閉yarn, stop-yarn.sh
- 2、先備份$HADOOP_HOME/etc/hadoop/capacity-scheduler.xml
cp capacity-scheduler.xml capacity-scheduler.xml_bak
rm capacity-scheduler.xml
- 3、然后在這個配置中加上如下配置
vi 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>eng,science</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.eng.capacity</name>
<value>50</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.dev.science.capacity</name>
<value>50</value>
</property>
</configuration>
占比是百分比
- 4、然后進行同步:
scp capacity-scheduler.xml hadoop-twq@slave1:~/bigdata/hadoop-2.7.5/etc/hadoop/
scp capacity-scheduler.xml hadoop-twq@slave2:~/bigdata/hadoop-2.7.5/etc/hadoop/
- 5、啟動yarn, start-yarn.sh
-
6、通過WebUI查看配置是否成功
-
在DistributedCount.java中MapReduce程序指定隊列運行
job.getConfiguration().set("mapreduce.job.queuename", "eng");
運行中通過WebUI可以查看運行過程: