一、配置YARN动态资源池的计划规则
1、测试环境
- 在 YARN 动态资源池配置里面选中计划模式,点击创建计划规则
- 创建两个新的配置集,一个为晚上 9 点到早上 9 点,每天重复,名称为 pool_night,一个为早上 9 点到晚上 6 点,每天重复,名称为 pool_day,剩下的没配置的时间段,有默认的 default 配置集来规定。default 配置集是在所有其他规则不适用的时候运行。
- 创建成功后,可以看到在资源池界面,已经可以看到刚才创建的两个配置集。
- 现在编辑 pool_day 和 pool_night 两个配置集里面的资源池队列。pool_day 只留下 root.default 和 root.users,并且权重配置为 1:1,这样就各占 50%资源
- pool_night 把 root.default 和 root.users 权重设置为 1:4,这样占的资源比例就是 20%和 80%。
- 注意:不同的配置集里面的资源队列是一样的,我添加了default配置集里面的队列 root.group1之后,在 pool_night 和 pool_day 就有了这两个队列。这说明各个不同的配置集里面的队列是同步的,只不过在不同的配置集里面可以独立的来配置资源队列的不同属性。
- 删除root.users也是同步的,如下图:
- 配置完之后吧pool_night权重改为4之后重启,点击刷新动态资源池。完成配置
3、验证配置集是否生效
- 然后从 YARN 界面点击 WEB UI 选择 ResourceManager Web UI,点击进去查询当前的资源池分配情况。(删除资源池队列之后,重启组件更新快一点)
- 点击 Scheduler
- 可以看到 root.default 和 root.users 的比例为 1:4,因为现在的时间是上午10点,属于刚才配置的 pool_day 配置集容纳的时间段,所以按照 pool_day 配置集设定的资源分配比例来执行。
- 点击进去也可以看的更清楚,二者的资源分配比例是按照我们配置集的设定来划分的。
-
4、总结
通过 CM 的动态资源池配置,可以方便的创建多个配置集。根据不同时段对资源池的使用进行重新分配,动态的调整不需要手动触发。所有配置集里面的资源池队列数量和名字是同步的,但是每个单独的资源池队列可以单独配置。
二、如何配置使用 YARN队列的 ACL
1、测试环境
RedHat7
- CM、CDH版本5.16.2
- 已启用Kerberos
二、启用YARN的ACL