Hadoop Yarn 配置多队列的容量调度器

文章目录

配置多队列的容量调度器

首先,我们进入 Hadoop 的配置文件目录中($HADOOP_HOME/etc/hadoop);

然后通过编辑容量调度器配置文件 capacity-scheduler.xml 来配置多队列的形式。

默认只有 default 队列,显然一个队列不符合集群的生产环境,会造成队列阻塞,资源分配不合理的情况等等,所以这时候就需要配置多队列了。

需求:

  • default 队列占总内存的 40%,最大资源容量占总资源 60%

  • hive 队列占总内存的 60%,最大资源容量占总资源 80%

不管配置多少个队列,总内存的和值最大不超过100%,超过会直接报错。
最大资源容量单个不超过100%,同时在配置队列的情况下也不要配置为100%,那样就失去了配置队列的意义,并发情况下和单队列一样了。

修改相关配置:

xml 复制代码
<!-- 新增hive队列,默认只有default -->
<property>
    <name>yarn.scheduler.capacity.root.queues</name>
    <value>default,hive</value>
</property>

<!-- 降低default队列资源额定容量为40%,默认100% -->
<property>
    <name>yarn.scheduler.capacity.root.default.capacity</name>
    <value>40</value>
</property>

<!-- 降低default队列资源最大容量为60%,默认100% -->
<property>
    <name>yarn.scheduler.capacity.root.default.maximum-capacity</name>
    <value>60</value>
</property>

为新队列添加相关配置:

xml 复制代码
<!-- 指定hive队列的资源额定容量 -->
<property>
    <name>yarn.scheduler.capacity.root.hive.capacity</name>
    <value>60</value>
</property>

<!-- 用户最多可以使用队列多少资源,1表示使用所有资源,也就是百分之百 -->
<property>
    <name>yarn.scheduler.capacity.root.hive.user-limit-factor</name>
    <value>1</value>
</property>

<!-- 指定hive队列的资源最大容量 -->
<property>
    <name>yarn.scheduler.capacity.root.hive.maximum-capacity</name>
    <value>80</value>
</property>

<!-- 启动hive队列 -->
<property>
    <name>yarn.scheduler.capacity.root.hive.state</name>
    <value>RUNNING</value>
</property>

<!-- 哪些用户有权向队列提交作业 -->
<property>
    <name>yarn.scheduler.capacity.root.hive.acl_submit_applications</name>
    <value>*</value>
</property>

<!-- 哪些用户有权操作队列,管理员权限(查看/杀死) -->
<property>
    <name>yarn.scheduler.capacity.root.hive.acl_administer_queue</name>
    <value>*</value>
</property>

<!-- 哪些用户有权配置提交任务优先级 -->
<property>
    <name>yarn.scheduler.capacity.root.hive.acl_application_max_priority</name>
    <value>*</value>
</property>

<!-- 指定了Hive作业的最大应用程序生存时间,将参数设置为 -1 意味着不设置应用程序生存时间的限制,即Hive作业的应用程序可以一直保持运行状态,直到它们自己完成或被终止。-->
<property>
    <name>yarn.scheduler.capacity.root.hive.maximum-application-lifetime</name>
    <value>-1</value>
</property>

<!-- 指定了Hive作业的默认应用程序生存时间-->
<property>
    <name>yarn.scheduler.capacity.root.hive.default-application-lifetime</name>
    <value>-1</value>
</property>

配置添加完成后,分发配置到集群其它机器。

该配置设置完成后,无需重启集群,使用下列命令进行队列刷新即可:

shell 复制代码
yarn rmadmin -refreshQueues

当然,不嫌麻烦可以去重启集群。

多队列查看

进入 Yarn 的 WEB 界面就可以看到我们配置好的队列了。

点开可以看到更为详细的配置信息:

相关推荐
智能相对论3 小时前
CES深度观察丨智能清洁的四大关键词:变形、出户、体验以及生态协同
大数据·人工智能
焦耳热科技前沿4 小时前
北京科技大学/理化所ACS Nano:混合价态Cu₂Sb金属间化合物实现高效尿素电合成
大数据·人工智能·自动化·能源·材料工程
min1811234565 小时前
深度伪造内容的检测与溯源技术
大数据·网络·人工智能
武子康5 小时前
大数据-209 深度理解逻辑回归(Logistic Regression)与梯度下降优化算法
大数据·后端·机器学习
小北方城市网5 小时前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
数据智研5 小时前
【数据分享】(2005–2016年)基于水资源承载力的华北地区降水与地下水要素数据
大数据·人工智能·信息可视化·数据分析
范桂飓7 小时前
大模型分布式训练框架 Megatron-LM
人工智能·分布式
TDengine (老段)7 小时前
TDengine Python 连接器入门指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
亚古数据7 小时前
亚古数据:查询斯里兰卡公司可以获取什么文件和信息?
大数据·亚古数据·斯里兰卡公司查询
WLJT1231231238 小时前
守护自然与滋养民生的绿色之路
大数据·安全