Последствия нескольких узлов 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, или им нужно будет общаться друг с другом?
Это где-нибудь задокументировано?
1 ответ
Несколько JobTracker могут быть полезны в многокластерной архитектуре. Таким образом, нагрузка на уровне кластера может быть распределена между JobTrackers.
В одном кластере могут возникнуть проблемы со следующим.
(a) Если несколько серверов JobTracker будут совместно использовать кластер HDFS, у каждого должен быть свой файл mapred.system.dir, иначе JobTrackers удалит файлы заданий друг друга.
(b) Сценарий администратора "Start-all или stop-all" станет проблемой, если каждый из них не получает свой порт.