Вопрос: Предлагает ли Hadoop v.1.2.1 или v.2 (YARN) способ определить близость ядра разных задач карты в рамках одного задания? Другими словами, могу ли я привязать конкретную задачу Map к определенному ядру, аналогично Linux taskset
, или это из-за контроля hadoop и до Планировщика Linux?Ключевое сродство заданий карты в Hadoop
Я отношусь к новой карте. Сокращайте программирование, и мой проект включает в себя изучение его производительности при изменении разных параметров (определенных машиной или сетью). Я до сих пор проходил через официальную документацию (v.1.2.1) и многочисленные темы как онлайн, так и Stack Exchange.
Ниже я предоставляю два разных случая, чтобы лучше проиллюстрировать мой вопрос вместе с моими исследованиями на сегодняшний день.
Пример # 1: Предположим, я иметь следующую конфигурацию:
- Входной сигнал: 2 ГиБ
- HDFS размер блока: 64 Мб
- узлы данных: 2 узлов х 32 ядер (процессоры)
- No Reduce Tasks не требуются.
В соответствии с размером блока будут называться 2 Задачи карты GiB/64 MiB = 32. Если mapred.tasktracker.map.tasks.maximum
установлено на 16
, то ровно 16 задач карты будут выполняться на узле №1, а 16 будет выполняться на узле №2 с 16 ядрами на каждый узел. (ссылки: #1, #2)
Насколько я обнаружил, что нет никакого способа, чтобы непосредственно контролировать «узел» сродство, то есть, как отобразить «задачу Карты» для конкретных узлов (link), помимо своего " Rack осведомленности "(link). Тем не менее, в пределах конкретных узла, может я ...
Вопрос № 1: ... «контактная» каждая карта Задача конкретного ядра? Вопрос №2: ... гарантируют, что каждая задание карты будет пребывания на ядре, с которого оно начиналось? Или это вне контроля hadoop и зависит от планировщика Linux?
Пример # 2: предположим, что Пример # конфигурации 1, но с размером входного 8 ГиБ, в результате чего 128 Карта Задачи.
Вопрос №1: независимо от значения mapred.tasktracker.map.tasks.maximum
, будут ли вызовы 128 Map одновременно? Правильно ли, поскольку у меня в общей сложности 64 слота для карт (более двух узлов), каждый узел будет в среднем обрабатывать 2x Map Task на ядро?
Вопрос № 2: если вопрос № 1 является правильным, у меня есть какой-либо контроль (в пределах одного узла) над «сколько времени» карта Задача будет оставаться на одном ядре, и если он будет перераспределена то же самое ядро, или это из-за контроля hadoop и вплоть до Планировщика Linux?
Что касается уменьшить задачи, я полагаю, что соответствующие ответы будут держать, а также, то есть, ядро аффинность будет также возможно (или нет).
Хороший вопрос там ... и очень важно понять его для лучшей производительности кластера хауопов. –