Hadoopクラスタで1つの問題が発生しています。私は、5つのデータノードと1つのエッジ/ゲートウェイノードを持つHadoopクラスタを持っています。 私の問題は、それらの各ノード(1つのnamenodeと5つのdatanodes)で履歴サーバーを起動して、送信されたジョブのhadoop webUIからジョブ履歴を取得しなければならないことでした。 mapred-site.xmlにmapreduce.jobhistory.address
とmapreduce.jobhistory.webapp.address
を追加しました。 しかし、正しく動作していないと思います。 名前ノードまたは他のノードのみで履歴サーバーを起動すると、Hadoop Cluster Web-UIはジョブ履歴を表示できず、何らかのエラーで終了します。Hadoop Cluster WebUIでジョブ履歴を取得するために、すべてのノードで履歴サーバーを実行する必要があります。
マイMapredサイトのXML
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoopmaster:8021</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoopmaster:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoopmaster:19888</value>
</property>
</configuration>
私は手動で(名前ノードとすべてのデータノード)各ノードに履歴サーバを起動し、回避策として、当分のために。しかし、これは正しい方法ではないと思う。
私は5ノードしか持っていないので、各ノードごとに手動で履歴サーバーを起動することはまだ可能ですが、複数のノード(100/200と言う)の場合は履歴サーバーを起動することはできませんすべてのノード。この問題の標準的な解決方法がいくつかあります...
この問題を解決する方法が分かっている人は、私を助けてください。 ありがとうございます。