Amazon EMR: установите уникальное количество картографов и редукторов для каждого экземпляра EMR
Я использую кластер Amazon EMR, который имеет M основных экземпляров и N экземпляров задач.
Мои задания выполняются несколько раз в день и чувствительны ко времени, поэтому я поддерживаю и запускаю экземпляры ядра M круглосуточно, чтобы у меня не было накладных расходов на передачу данных в / из S3.
N узлов задачи динамически запускаются и завершаются по мере необходимости.
M базовых узлов - это c1.mediums, а N узловых задач - m2.xlarge.
Есть ли способ настроить mapred.tasktracker.map.tasks.maximum и mapred.tasktracker.reduce.tasks.maximum для каждого экземпляра?
Для основных узлов я хочу: mapred.tasktracker.map.tasks.maximum=2 mapred.tasktracker.reduce.tasks.maximum=1
Для узлов задачи я хочу по крайней мере: mapred.tasktracker.map.tasks.maximum=2 mapred.tasktracker.reduce.tasks.maximum=2
Обратите внимание, что средства отслеживания задач также работают на основных узлах, поэтому я думаю, что эта конфигурация должна быть для каждого экземпляра в зависимости от размера экземпляра.
Это возможно? И если да, как я могу настроить этот тип конфигурации? Благодарю.
1 ответ
Здесь есть отличный блог, который дает вам ответ. http://blog.earlh.com/index.php/2013/05/modifying-the-number-of-mappers-or-reducers-on-a-running-emr-cluster/
Обратите внимание, что вам, возможно, придется немного поиграться с sshing в узлах задач. Это не будет работать просто так.
Я хотел бы получить мой файл pem в локальный каталог.
chmod 400 в этом файле pem
а затем выполните команду "scp -l hadoop -i .pem, а затем все остальное"
как уже упоминалось в блоге, заметьте, я еще не пробовал, но я верю, что это сработает. Кроме того -.versions... вещи могут не понадобиться. Вам, вероятно, просто нужно конф.
Спасибо