Configuration

Hadoop 集群中多個 JobTracker 節點的含義?

  • August 30, 2012

我得到的印像是,可能有多個 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”將成為一個問題,除非每個都獲得不同的埠。

引用自:https://serverfault.com/questions/422119