0

我们如何将来自用户组名称与队列名称不同的用户的所有作业映射到默认队列?

使用 yarn.scheduler.capacity.queue-mappings 我们知道我们可以使用:

<name>yarn.scheduler.capacity.queue-mappings</name>
    <value>u:user2:%primary_group</value>
    <description>user2 is mapped to queue name same as primary group</description>
 </property>

或者

<property>
    <name>yarn.scheduler.capacity.queue-mappings</name>
    <value>g:group1:queue2</value>
    <description>group1 is mapped to queue2</description>
 </property>

但是如果我的用户组没有同名的队列会发生什么?如何将所有这些作业映射到默认队列?

4

1 回答 1

0

使用提到的第二个选项g:group1:queue2,用户组名称和队列名称不必须相同。撇开这一点,我认为问题更多是关于default当没有用户组成员资格与队列匹配时如何将用户映射到队列。这是选项

  1. 如果yarn.root.default定义了一个队列,它将被提交给该队列。
  2. 否则,您可以定义默认队列,假设队列名称为my_default_queue并将映射定义为属性的最后一个选项yarn.scheduler.capacity.queue-mappings
<property>
    <name>yarn.scheduler.capacity.queue-mappings</name>
    <value>g:group1:queue2,u:%user:my_default_queue</value>
 </property>

确保将默认映射定义为最后一个选项,以便在前面的映射都不成功时检查它。

于 2020-12-04T04:29:57.460 回答