Невозможно получить показатели очереди при использовании планировщика емкости с метками узлов в Yarn - PullRequest
0 голосов
/ 07 октября 2019

У меня настроен планировщик емкости с двумя очередями - «низкий приоритет», «обычный приоритет». Есть две метки узла: «низкий» и «обычный». очередь с низким приоритетом имеет 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 и т. Д. Не удается выяснить, почему показатели не обновляются после отправки задания.

Проблема возникает только при включенной метке узла. Когда метка узла отключена и используется только очередь, все работает нормально.

...