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

Другие вопросы по тегам