当多个工作提交到一个队列上时,如果想让后提交的工作优先执行,就须要有工作优先级机制来帮忙。
上面介绍如何开启工作优先级配置,以及设置工作优先级。
一、开启工作优先级配置
在 resource manager yarn-site.xml
中增加 yarn.cluster.max-application-priority
,而后重启 rm。
<property>
<name>yarn.cluster.max-application-priority</name>
<value>80</value>
</property>
留神:
- 这个参数是 rm 端参数,无需增加到 nm
- 最大值能够本人设置
-
rm 在 2.8.0 之后才反对此配置
二、设置工作优先级
一)MapReduce 工作
增加参数
-D mapreduce.job.priority=30
测试:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar wordcount -D mapreduce.job.priority=30 /input /output
二)Hive/Tez 工作
增加参数
set tez.am.application.priority=30;
三)留神
提交工作的客户端须要反对工作优先级配置
如 hadoop 提交 mr 程序,须要客户端版本在 2.8.0 以上