CDH Yarn资源动态分配 - 指定资源限制 公平调度具体设置

日常工作中会涉及到各种资源分配等问题,跨部门,跨业务等等,这里介绍基于CDH版本的Yarn 公平调度(实际使用DRF调度)

DRF与FAIR区别:

DRF:根据 CPU 和内存公平调度资源。 (建议,CDH自带)

FAIR:仅根据内存公平调度资源。

 禁止自动创建队列

  • yarn.scheduler.fair.user-as-default-queue false

CDH Yarn资源动态分配 - 指定资源限制  公平调度具体设置

  • yarn.scheduler.fair.allow-undeclared-pools false

该项勾选之后会使用username队列,如果没有会自动创建,并且占比(权)为1

CDH Yarn资源动态分配 - 指定资源限制  公平调度具体设置

 CDH配置放置规则

1.登录管理界面,进入动态资源池配置

CDH Yarn资源动态分配 - 指定资源限制  公平调度具体设置

2.删除全部默认配置规则

CDH Yarn资源动态分配 - 指定资源限制  公平调度具体设置

3.添加新的三条规则,注意按照顺序

  • 规则一:

CDH Yarn资源动态分配 - 指定资源限制  公平调度具体设置

  • 规则二:

CDH Yarn资源动态分配 - 指定资源限制  公平调度具体设置

  • 规则三:

CDH Yarn资源动态分配 - 指定资源限制  公平调度具体设置

4.创建完成的规则如下图所示,并刷新最新配置

CDH Yarn资源动态分配 - 指定资源限制  公平调度具体设置

 配置资源池

CDH Yarn资源动态分配 - 指定资源限制  公平调度具体设置

 1.资源池创建默认是在root父池下,即上图的池名称为 root.test 程序制定时可使用如下命令

set  mapreduce.job.queuename=root.test;

2.最大运行数量,e.g. 配置为2

启动三个程序,其中两个正常跑平分资源,另外一个app处于ACCEPTED状态,等待其他任务跑完后,才会跑

CDH Yarn资源动态分配 - 指定资源限制  公平调度具体设置

此时再启动一个,在其他队列的任务,发现可以正常运行,说明我们配置已生效

CDH Yarn资源动态分配 - 指定资源限制  公平调度具体设置 

 3.设置最大使用资源

设置资源为该池使用最大资源,如权设置的大,最大资源设置小,则权失效。

上一篇:[bug] CM / CDH 主机运行状态不良情况


下一篇:CDH安装失败了,如何重新安装