Управляйте количеством картографов на каждом узле в кластере

У меня очень маленький 2 узел Hadoop-HBase кластер. Я исполняю MapReduce рабочие места на нем. я использую Hadoop-2.5.2, У меня есть 32 ГБ (узлы имеют 64 ГБ памяти каждый) бесплатно MapReduce в каждом узле с конфигурацией на сайте пряжи следующим образом

<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>32768</value>
</property>
<property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
    <value>15</value>
</property>

Мои требования к ресурсам составляют 2 ГБ для каждого выполняемого преобразователя / преобразователя. Я настроил это в mapred-site.xml Учитывая эти конфигурации, в общей сложности около 64 ГБ в памяти и 30 виртуальных процессоров, я вижу, что около 31 преобразователя или 31 преобразователя выполняются параллельно.

Хотя все это хорошо, есть одна часть, которую я пытаюсь выяснить. Количество преобразователей или редукторов, выполняющихся параллельно, не одинаково на обоих узлах, один из узлов имеет большее количество задач, чем другой. Почему это происходит? Можно ли это контролировать? Если так, то как?

Я полагаю, что YARN не рассматривает это как ресурсы узла, а скорее как ресурсы кластера, и порождает задачи везде, где это возможно в кластере. Это понимание правильно? Если нет, каково правильное объяснение упомянутому поведению во время выполнения MR?

0 ответов

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