2012-01-31 2 views
0

Меня интересует бенчмаркинг кластера Hadoop на определенных этапах выполнения MapReduce. То есть, я хотел бы провести чистое разделение между фазой карты, фазой случайной перестройки и фазой уменьшения.Чисто разделяйте фазы Hadoop

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

увидел я другого SO пост об разделения задач на конкретных узлах путем установки mapred.tasktracker.reduce.tasks.maximum к 0 на узлы, которые не должны сократить и mapred.tasktracker.map.tasks.maximum к 0 на узлы, которые не отображают, но в этом случае карта и уменьшить задачи по-прежнему работать одновременно, и я также не могу использовать свой полный кластер для каждой фазы.

Спасибо!

ответ

1

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

mapreduce.job.reduce.slowstart.completedmaps устанавливается в 0,05 и определяется как Fraction of the number of maps in the job which should be complete before reduces are scheduled for the job.

Установите выше параметр 1, а перетасовка не запустится, пока все выполнение картографических задач не будет завершено.

+0

Именно то, что я искал. Спасибо! – cvp

+0

Или, может быть, я слишком скоро заговорил ... Несмотря на то, что он держится на сортировке или уменьшении, пока все карты не будут полностью закончены, он все равно выполняет операцию копирования. Нельзя ли это удержать? – cvp

+0

Я не думаю, что перетасовка (шаг копирования) также начинается без завершения всех задач карты, установив указанное свойство в 1, потому что задачи сокращения не были запланированы. –

Смежные вопросы