Что означает Num Off Switch Containers в пользовательском интерфейсе Yarn Resource Manager?

У меня есть работа ETL, занимающая много ресурсов процессора и памяти и работающая в течение длительного времени. Первое, что я заметил при отладке, это следующее (из задания в графическом интерфейсе менеджера ресурсов)

  • Num Node Local Containers (удовлетворено) = 6
  • Num Rack Local Containers (удовлетворено) = 00
  • Num Off Switch Containers (удовлетворено) = 11367

У нас только две стойки. Мне нужна помощь с ответом на следующие три вопроса

  1. Что означает Num Off Switch Containers?
  2. Как я могу определить эти контейнеры "выключения" и на каком узле (ах) они работали?
  3. Способствуют ли отключенные контейнеры сокращать время обработки задания?

1 ответ

Решение

1 . Что означает Num Off Switch Containers? Вышеуказанный случай off switch locality по планировщику задержки:-

                | router|
              +-----------+
             /             \
    +-----------+        +-----------+
    |rack switch|        |rack switch|
    +-----------+        +-----------+
    | data node |        | data node |
    +-----------+        +-----------+
    | data node |        | data node |
    +-----------+        +-----------+

Это наихудший сценарий локальности данных (1.Node local 2. Rack local 3. off off switch) с помощью планировщика Delay, и память и vcores распределяются по разным стойкам через коммутатор и гораздо более высокой пропускной способности.

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

Для разных планировщиков в конфигурации YARN есть переменные для порога узла и стойки:-

CAPACITY SCH:- С этим свойством yarn.scheduler.capacity.rack-locality-additional-delay, расслабляющая местность для выключенных контейнерных назначений сделана.

наращивание scheduler.xml

<property>
  <name>yarn.scheduler.capacity.node-locality-delay</name>
  <value>-1</value>
  <description>Number of missed scheduling opportunities after which the              CapacityScheduler attempts to schedule rack-local containers.
Typically this should be set to number of racks in the cluster, this
feature is disabled by default, set to -1.
 </description>
</property>

https://issues.apache.org/jira/browse/YARN-4189 - JIRA для улучшения В случае, если кластер использует планировщик Fair:-

https://hadoop.apache.org/docs/r2.7.4/hadoop-yarn/hadoop-yarn-site/FairScheduler.html

yarn.scheduler.fair.locality.threshold.rack

https://cs.stanford.edu/~matei/papers/2010/eurosys_delay_scheduling.pdf для планирования задержки.

2.Как я могу определить эти контейнеры "выключения" и на каких узлах они работали?

Я считаю, что для просмотра контейнеров для приложения нам нужно перейти к конкретной попытке приложения с помощью идентификатора попытки, и там мы можем найти conatainer и его узел. Я не нашел прямой ссылки на выключение контейнера в RM UI

3. Отключают ли контейнеры выключателей замедление обработки заданий?

Да, исходя из вышеизложенного, можно сделать вывод, что нагрузка на сеть замедлит обработку заданий.

Другие вопросы по тегам