Как в Hadoop 2 + YARN рассчитываются # параллельные преобразователи и # редьюсеры?

Я когда-то искал и обнаружил, что кластер MapReduce с использованием hadoop2 + пряжа имеет следующее количество одновременных карт и сокращений на узел:

Параллельные карты # = yarn.nodemanager.resource.memory-mb / mapreduce.map.memory.mb Параллельные сокращения # = yarn.nodemanager.resource.memory-mb / mapreduce.reduce.memory.mb

Однако я создал кластер из 10 машин со следующими конфигурациями:

'yarn_site' => {
  'yarn.nodemanager.resource.cpu-vcores' => '32',
  'yarn.nodemanager.resource.memory-mb' => '16793',
  'yarn.scheduler.minimum-allocation-mb' => '532',
  'yarn.nodemanager.vmem-pmem-ratio' => '5',
  'yarn.nodemanager.pmem-check-enabled' => 'false'
},
'mapred_site' => {
  'mapreduce.map.memory.mb' => '4669',
  'mapreduce.reduce.memory.mb' => '4915',
  'mapreduce.map.java.opts' => '-Xmx4669m',
  'mapreduce.reduce.java.opts' => '-Xmx4915m'
}

Но после того, как кластер настроен, hadoop позволяет использовать 6 контейнеров для всего кластера. Что я забыл? Что я делаю неправильно?


person Luís Guilherme    schedule 25.06.2014    source источник
comment
Ты когда-нибудь разбирался в этом, Луис? Я считаю, что формула больше похожа на формулу из сообщения в блоге Cloudera, на которое ссылается мой вопрос, - stackoverflow.com/questions/25193201/ -- но я считаю, что это не совсем правильно для EMR.   -  person verve    schedule 08.08.2014
comment
6 контейнеров для кластера из 10 машин? Это странно. Всегда ли одна и та же машина пуста? Достаточно ли у вас картографов/редукторов для запуска?   -  person ALSimon    schedule 23.12.2014


Ответы (1)


Не уверен, что это та же проблема, что и у вас, но у меня была похожая проблема, когда я запустил кластер EMR из 20 узлов c3.8xlarge в основной группе экземпляров и аналогичным образом нашел кластер быть сильно недогруженным при выполнении задания (только 30 картографов одновременно работали во всем кластере, хотя конфигурации памяти/виртуального ядра в YARN и MapReduce для моего конкретного кластера показывают, что может работать более 500 одновременных контейнеров). Я использовал Hadoop 2.4.0 на AMI 3.5.0.

Получается, что группа экземпляров по какой-то причине имеет значение. Когда я перезапустил кластер с 20 узлами в группе экземпляров задач и только с одним основным узлом, это имело ОГРОМНОЕ значение. У меня одновременно работает более 500 картографов (в моем случае картографы в основном загружали файлы с S3 и поэтому не нуждались в HDFS).

Я не уверен, почему разные типы групп экземпляров имеют значение, учитывая, что оба могут одинаково запускать задачи, но очевидно, что они обрабатываются по-разному.

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

person Dia Kharrat    schedule 20.03.2015