
Ich habe den Eindruck, dass man potenziell mehrere JobTracker-Knoten so konfigurieren kann, dass sie denselben Satz von MR-Knoten (TaskTracker) gemeinsam nutzen. Ich weiß, dass herkömmlicherweise alle Knoten in einem Hadoop-Cluster denselben Satz von Konfigurationsdateien haben sollten (üblicherweise unter /etc/hadoop/conf/
– zumindest für die Cloudera Distribution of Hadoop (CDH). Können wir mehrere Job Tracker in definieren mapred-site.xml
? So etwas wie:
<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>
Oder gibt es dafür eine andere zulässige Syntax?
Welche Auswirkungen hat dies? Bekommt jeder JobTracker Informationen über die Auslastung jedes TaskTracker-Knotens? Mit anderen Worten: Können die beiden JobTracker ihre Planung über die TT-Knoten hinweg nur auf der Grundlage der Gossip-Informationen der TTs koordinieren oder müssten sie miteinander kommunizieren?
Ist dies irgendwo dokumentiert?
Antwort1
Mehrere JobTracker können in einer Multi-Cluster-Architektur nützlich sein. So kann die Last auf Clusterebene auf die JobTracker verteilt werden.
In einem einzelnen Cluster kann die Nachverfolgung zu einem Problem werden.
(a) Wenn mehrere JobTracker-Server einen HDFS-Cluster gemeinsam nutzen, muss jeder über ein anderes mapred.system.dir verfügen, andernfalls löschen die JobTracker gegenseitig ihre Jobdateien.
(b) Das Admin-Skript „Start-all oder stop-all“ wird zum Problem, sofern nicht jedes einen anderen Port erhält.