Контроль и мониторинг номера одновременных задач в MapReduce в пряже
Вопрос
У меня есть кластер Hadoop 2.2, развернутый на небольшом количестве мощных машин.У меня есть ограничение для использования пряжи в качестве рамки, с которой я не очень знаком.
- Как мне контролировать количество фактических карт и уменьшить задачи, которые будут работать параллельно?Каждая машина имеет много ядер CPU (12-32) и достаточно оперативной памяти.Я хочу использовать их максимально.
- Как я могу отслеживать, что мои настройки фактически привели к лучшему использованию машины?Где я могу проверить, сколько ядер (потоков, процессов) использовались во время заданного задания?
Спасибо заранее, чтобы помочь мне расплавить эти машины :)
Решение
1.
В MR1 MAPRED.tasktracker.map.tasks.maximum и mapred.tasktracker.reduce.tasks.maxtractium Properties дикторировали, сколько отображается и уменьшают слоты каждого пользовательского назначения.
Эти свойства больше не существуют в пряже. Вместо этого пряжа использует Yarn.nodemanager.resource.memory-MB и Yarn.nodemanager.resource.cpu-vcores, которые контролируют объем памяти и процессора на каждом узле, как доступны как на карте, так и уменьшают
По сути:
Пряжа не имеет назначателей, а просто общих нодемангеров. Следовательно, нет дополнительных слотов карт и уменьшает разделение слотов. Все зависит от количества памяти в использовании / требуемой
2.
Использование веб-интерфейса, вы можете получить много мониторинга / администратора в виде информации:
namenode - http://: 50070 /
Диспетчер ресурсов - http://: 8088 /
Кроме того Apache Ambari предназначен для этого: http://ambari.apache.org/
и оттенок для взаимодействия с кластером Hadoop / пряжи во многих отношениях: http://gethue.com/
Другие советы
- есть a ХорошийРуководство на конфигурации пряжи из Hortonworks
- Вы можете проанализировать вашу работу в История работы Сервер.Обычно это можно найти на порту 19888 года. ambari и
Ganglia также очень хорошо для измерения утилизации кластера.
У меня такая же проблема, Чтобы увеличить количество материалов, рекомендуется уменьшить размер входного разделения (каждый входной раздел обрабатывается Mapper и поэтому контейнер).Я не знаю, как это сделать,
Действительно, Hadoop 2.2 / пряжа не учитывает ни один из следующих настроек
<property>
<name>mapreduce.input.fileinputformat.split.minsize</name>
<value>1</value>
</property>
<property>
<name>mapreduce.input.fileinputformat.split.maxsize</name>
<value>16777216</value>
</property>
<property>
<name>mapred.min.split.size</name>
<value>1</value>
</property>
<property>
<name>mapred.max.split.size</name>
<value>16777216</value>
</property>
.
Лучше всего