У меня создается впечатление, что потенциально можно иметь несколько узлов 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" станет проблемой, если каждый из них не получит другой порт.