Назад | Перейти на главную страницу

Последствия использования нескольких узлов JobTracker в кластере Hadoop?

У меня создается впечатление, что потенциально можно иметь несколько узлов JobTracker, настроенных для совместного использования одного и того же набора узлов MR (TaskTracker). Я знаю, что обычно все узлы в кластере Hadoop должны иметь одинаковый набор файлов конфигурации (обычно под /etc/hadoop/conf/ --- по крайней мере, для Cloudera Distribution of Hadoop (CDH). Можем ли мы определить несколько трекеров вакансий в mapred-site.xml? Что-то вроде:

<configuration>
   <property>
     <name>mapred.job.tracker</name>
     <value>jt01.mydomain.not:8021</value>
   </property>
   <property>
     <name>mapred.job.tracker</name>
     <value>jt02.mydomain.not:8021</value>
   </property>
...
</configuration>

Или для этого есть другой разрешенный синтаксис?

Каковы последствия этого. Получает ли каждый JobTracker информацию о нагрузке на каждый узел TaskTracker. Другими словами, могут ли два JobTracker координировать свое планирование для узлов TT только на основе информации сплетен от TT, или им нужно будет поговорить друг с другом?

Это где-нибудь задокументировано?

Несколько JobTracker могут быть полезны в многокластерной архитектуре. Таким образом, нагрузка на уровне кластера может быть распределена между JobTrackers.

В одном кластере могут возникнуть проблемы.

(a) Если несколько серверов JobTracker совместно используют кластер HDFS, у каждого из них должен быть свой mapred.system.dir, иначе JobTrackers удалит файлы заданий друг друга.

(b) Сценарий администрирования "Start-all or stop-all" станет проблемой, если каждый из них не получит другой порт.