
潜在的には、複数の JobTracker ノードが同じ MR (TaskTracker) ノード セットを共有するように構成できるという印象を受けます。慣例的に、Hadoop クラスター内のすべてのノードは同じ構成ファイル セット (慣例的に/etc/hadoop/conf/
--- の下で少なくとも Cloudera Distribution of Hadoop (CDH) の場合) を持つ必要があることは知っています。 で複数の Job Tracker を定義できますか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 ノードの負荷に関する情報を取得しますか。言い換えると、2 つの JobTracker は TT からのゴシップ情報のみに基づいて TT ノード間でスケジュールを調整できますか、それとも相互に通信する必要がありますか。
これはどこかに文書化されていますか?
答え1
複数の JobTracker は、マルチクラスター アーキテクチャで役立ちます。そのため、クラスター レベルの負荷を JobTracker 間で分散できます。
単一のクラスターでは、次のことが問題になる可能性があります。
(a) 複数の JobTracker サーバーが HDFS クラスターを共有する場合、それぞれに異なる mapred.system.dir が必要です。そうしないと、JobTracker が互いのジョブ ファイルを削除します。
(b) それぞれに異なるポートが割り当てられない限り、管理スクリプト「Start-all または stop-all」が問題になります。