Как установить точное максимальное количество одновременно запущенных задач на узел в Hadoop 2.4.0 на Elastic MapReduce

Согласно http://blog.cloudera.com/blog/2014/04/apache-hadoop-yarn-avoiding-6-time-using-gotchas/ формула для определения количества одновременно выполняющихся задач на узел:

min (yarn.nodemanager.resource.memory-mb / mapreduce.[map|reduce].memory.mb, 
     yarn.nodemanager.resource.cpu-vcores / mapreduce.[map|reduce].cpu.vcores) .

Однако при установке этих параметров в (для кластера c3.2xlarges):

пряжа.nodemanager.resource.memory-mb = 14336

mapreduce.map.memory.mb = 2048

пряжа.nodemanager.resource.cpu-vcores = 8

mapreduce.map.cpu.vcores = 1,

Я обнаружил, что одновременно получаю до 4 задач на узел, когда формула говорит, что должно быть 7. В чем дело?

Я использую Hadoop 2.4.0 на AMI 3.1.0.


person verve    schedule 07.08.2014    source источник
comment
вы можете попробовать с hadoop.apache. org/docs/r2.4.0/hadoop-yarn/hadoop-yarn-site/ используйте yarn.scheduler.capacity.maximum-am-resource-percent / yarn.scheduler.capacity.‹queue-path›.maximum -ам-ресурс-процент   -  person Sandesh Deshmane    schedule 08.08.2014
comment
CapacityScheduler предназначен для распределения ресурсов кластера между несколькими приложениями на основе YARN, обеспечивая при этом некоторую минимальную мощность для каждого — например, PBS для YARN. Я ищу аналоги Hadoop 2.x для mapred.tasktracker.map.tasks.maximum и mapred.tasktracker.reduce.tasks.maximum Hadoop 1.x; и прежде чем кто-то скажет mapreduce.tasktracker.map.tasks.maximum и mapreduce.tasktracker.reduce.tasks.maximum, они не работают в MapReduce2, потому что он устраняет TackTracker и концепцию слотов — прочитайте первую подсказку из Сообщение в блоге Cloudera.   -  person verve    schedule 08.08.2014
comment
Моя проблема заключается в том, что формула Cloudera может работать для CDH, но не работает для Hadoop 2.4.0 в EMR.   -  person verve    schedule 08.08.2014
comment
Спасибо за предложение Сандеш; это полезная ссылка. Опытным путем я обнаружил, что формула больше похожа на: min (2 / 3 * yarn.nodemanager.resource.memory-mb / mapreduce.[map|reduce].memory.mb, yarn.nodemanager.resource.cpu-vcores / mapreduce .[map|reduce].cpu.vcores) на EMR. Интересно, участвует ли как-то соотношение pmem-to-vmem? Думаю, я мог бы углубиться в исходный код, чтобы посмотреть, но было бы неплохо услышать мнение кого-то с опытом работы с Hadoop 2.x.   -  person verve    schedule 08.08.2014


Ответы (1)


Моя эмпирическая формула была неверной. Формула, предоставленная Cloudera, является правильной и, по-видимому, дает ожидаемое количество одновременно выполняемых задач, по крайней мере, в AMI 3.3.1.

person verve    schedule 16.12.2014
comment
Я не вижу на этой странице формулы, отличной от той, что вы перечислили выше. Не могли бы вы включить формулу, которая дает 4 задачи, которые вы видите? Кроме того, знаете ли вы, можно ли установить дробное значение vcores для задач, связанных с вводом-выводом? - person AaronM; 09.05.2015
comment
Проверьте комментарии к вопросу; эмпирическая формула, на которую я ссылаюсь, взята из комментария от 8 августа 2014 года. Это неправильная формула, а правильная формула от Cloudera. - person verve; 09.11.2015