Как сопоставить по умолчанию с очередью с yarn?

#hadoop #hadoop-yarn

#hadoop #hadoop-yarn

Вопрос:

Как мы можем сопоставить с очередью по умолчанию все задания, полученные от пользователей, имя группы которых отличается от имен очередей?

Использование yarn.scheduler.capacity.сопоставления с очередью, которые, как мы знаем, мы можем использовать:

 <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>
 

НО что произойдет, если в моей группе пользователей нет очереди с тем же именем? Как я могу сопоставить все эти задания с очередью по умолчанию?

Ответ №1:

Используя второй упомянутый вариант 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>
 

Убедитесь, что вы определили сопоставление по умолчанию в качестве последнего параметра, чтобы оно было проверено, если ни одно из предыдущих сопоставлений не завершилось успешно.