一、配置YARN动态资源池的计划规则

1、测试环境

  1. RedHat7
  2. CM、CDH5.16.2
  3. 以启动Kerberos

    2、创建资源池配置集

  4. 选择进入动态资源此配置

image.png

  1. 在 YARN 动态资源池配置里面选中计划模式,点击创建计划规则

image.png

  1. 创建两个新的配置集,一个为晚上 9 点到早上 9 点,每天重复,名称为 pool_night,一个为早上 9 点到晚上 6 点,每天重复,名称为 pool_day,剩下的没配置的时间段,有默认的 default 配置集来规定。default 配置集是在所有其他规则不适用的时候运行。

image.png
image.png

  1. 创建成功后,可以看到在资源池界面,已经可以看到刚才创建的两个配置集。

image.png

  1. 现在编辑 pool_day 和 pool_night 两个配置集里面的资源池队列。pool_day 只留下 root.default 和 root.users,并且权重配置为 1:1,这样就各占 50%资源

image.png

  1. pool_night 把 root.default 和 root.users 权重设置为 1:4,这样占的资源比例就是 20%和 80%。

image.png

  1. 注意:不同的配置集里面的资源队列是一样的,我添加了default配置集里面的队列 root.group1之后,在 pool_night 和 pool_day 就有了这两个队列。这说明各个不同的配置集里面的队列是同步的,只不过在不同的配置集里面可以独立的来配置资源队列的不同属性。

image.png
image.png

  1. 删除root.users也是同步的,如下图:

image.pngimage.png

  1. 配置完之后吧pool_night权重改为4之后重启,点击刷新动态资源池。完成配置

image.png

3、验证配置集是否生效

  1. 然后从 YARN 界面点击 WEB UI 选择 ResourceManager Web UI,点击进去查询当前的资源池分配情况。(删除资源池队列之后,重启组件更新快一点)

image.png

  1. 点击 Scheduler

image.png

  1. 可以看到 root.default 和 root.users 的比例为 1:4,因为现在的时间是上午10点,属于刚才配置的 pool_day 配置集容纳的时间段,所以按照 pool_day 配置集设定的资源分配比例来执行。

image.png

  1. 点击进去也可以看的更清楚,二者的资源分配比例是按照我们配置集的设定来划分的。

image.png

  1. 至此,验证完成。

    4、总结

    通过 CM 的动态资源池配置,可以方便的创建多个配置集。根据不同时段对资源池的使用进行重新分配,动态的调整不需要手动触发。所有配置集里面的资源池队列数量和名字是同步的,但是每个单独的资源池队列可以单独配置。

    二、如何配置使用 YARN队列的 ACL

    1、测试环境

  2. RedHat7

  3. CM、CDH版本5.16.2
  4. 已启用Kerberos

二、启用YARN的ACL