У меня настроен планировщик емкости с двумя очередями - «низкий приоритет», «обычный приоритет». Есть две метки узла: «низкий» и «обычный». очередь с низким приоритетом имеет 100% доступ к «низкой» метке узла, а очередь с обычным приоритетом имеет 100% доступ к «обычной» метке узла.
Конфигурация планировщика емкости (acity-scheduler.xml):
<configuration>
<property>
<name>yarn.scheduler.capacity.maximum-applications</name>
<value>1000</value>
</property>
<property>
<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
<value>0.2</value>
</property>
<property>
<name>yarn.scheduler.capacity.resource-calculator</name>
<value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>
<description>
The ResourceCalculator implementation to be used to compare
Resources in the scheduler.
The default i.e. DefaultResourceCalculator only uses Memory while
DominantResourceCalculator uses dominant-resource to compare
multi-dimensional resources such as Memory, CPU etc.
</description>
</property>
<property>
<name>yarn.scheduler.capacity.root.queues</name>
<value>low-priority,regular-priority</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.capacity</name>
<value>100</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.maximum-capacity</name>
<value>100</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.accessible-node-labels</name>
<value>*</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.accessible-node-labels.regular.capacity</name>
<value>100</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.accessible-node-labels.regular.maximum-capacity</name>
<value>100</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.accessible-node-labels.low.capacity</name>
<value>100</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.accessible-node-labels.low.maximum-capacity</name>
<value>100</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.default.state</name>
<value>RUNNING</value>
<description>
The state of the default queue. State can be one of RUNNING or STOPPED.
</description>
</property>
<property>
<name>yarn.scheduler.capacity.root.default.acl_submit_applications</name>
<value>*</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.default.acl_administer_queue</name>
<value>*</value>
<description>
The ACL of who can administer jobs on the default queue.
</description>
</property>
<property>
<name>yarn.scheduler.capacity.node-locality-delay</name>
<value>40</value>
</property>
<property>
<name>yarn.scheduler.capacity.queue-mappings-override.enable</name>
<value>false</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.low-priority.capacity</name>
<value>50</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.low-priority.maximum-capacity</name>
<value>100</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.low-priority.ordering-policy</name>
<value>fair</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.low-priority.accessible-node-labels</name>
<value>low</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.low-priority.default-node-label-expression</name>
<value>low</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.low-priority.accessible-node-labels.low.capacity</name>
<value>100</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.low-priority.accessible-node-labels.low.maximum-capacity</name>
<value>100</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.low-priority.default.state</name>
<value>RUNNING</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.regular-priority.capacity</name>
<value>50</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.regular-priority.maximum-capacity</name>
<value>100</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.regular-priority.ordering-policy</name>
<value>fair</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.regular-priority.accessible-node-labels</name>
<value>regular</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.regular-priority.default-node-label-expression</name>
<value>regular</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.regular-priority.accessible-node-labels.regular.capacity</name>
<value>100</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.regular-priority.accessible-node-labels.regular.maximum-capacity</name>
<value>100</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.low-priority.default.state</name>
<value>RUNNING</value>
</property>
Присоединена конфигурация планировщика емкости пряжи. планировщик пользовательского интерфейса пряжи Когда я вижу QueueMetrics, испускаемые очередями «низкий приоритет» и «обычный приоритет» в (rm-ip: port / jmx), тогда он показывает правильные значения availableMB и availableVCores, но когдаЯ отправляю задание в любую очередь, в метриках jmx, таких как pendingMB, pendingVcores, availableMB, availableVCores и т. Д., Обновлений нет. Обновляются только приложения AppsRunning, ActiveApplications и т. Д. Не удается выяснить, почему показатели не обновляются после отправки задания.
Проблема возникает только при включенной метке узла. Когда метка узла отключена и используется только очередь, все работает нормально.