我在Hadoop集群中面临一个问题。我有一个Hadoop集群,有5个数据节点和一个边缘/网关节点。
我的问题是我必须在每个节点(1个namenode和5个datanode)中启动历史服务器,以便从任何已提交作业的hadoop webUI获取任何作业历史记录。
我在mapred-site.xml中添加了mapreduce.jobhistory.address
和mapreduce.jobhistory.webapp.address
但我猜它不能正常工作。
如果我仅在名称节点或任何其他节点中启动历史记录服务器,则Hadoop Cluster Web-UI无法显示作业历史记录并最终出现一些错误。
我的Mapred-site 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>
暂时作为解决方法,我手动启动每个节点(namenode和所有数据节点)中的历史服务器。但是认为这不是正确的方法。
现在我只有5个数据节点,因此仍然可以手动启动每个节点中的历史服务器,但如果有多个节点(例如100/200)的情况下,在每个节点中启动历史服务器将不再可行节点。这个问题应该有一些标准的解决方案......
如果有人知道如何解决此问题,请帮助我。 提前致谢…。
答案 0 :(得分:1)
最后我能够解决这个问题。
实际上在mapreduce.jobhistory.address
的情况下,历史服务器仅在一个节点(jps)中运行。
它现在正常工作......