Configuration
Hadoop 集群中多個 JobTracker 節點的含義?
我得到的印像是,可能有多個 JobTracker 節點配置為共享同一組 MR (TaskTracker) 節點。我知道,按照慣例,Hadoop 集群中的所有節點都應該具有相同的配置文件集(通常在
/etc/hadoop/conf/
— 至少對於 Hadoop 的 Cloudera Distribution (CDH) 而言。我們可以在其中定義多個 Job Trackermapred-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 在多集群架構中很有用。因此集群級別的負載可以在 JobTracker 之間分配。
在單個集群中,以下可能會成為問題。
(a) 如果多個 JobTracker 伺服器將共享一個 HDFS 集群,則每個伺服器必須有不同的 mapred.system.dir,否則 JobTracker 將刪除彼此的作業文件。
(b) 管理腳本“Start-all or stop-all”將成為一個問題,除非每個都獲得不同的埠。