我是否必须在所有节点中运行历史记录服务器才能在Hadoop Cluster WebUI中获取作业历史记录

时间:2016-06-02 09:01:43

标签: hadoop hadoop2 bigdata

我在Hadoop集群中面临一个问题。我有一个Hadoop集群,有5个数据节点和一个边缘/网关节点。 我的问题是我必须在每个节点(1个namenode和5个datanode)中启动历史服务器,以便从任何已提交作业的hadoop webUI获取任何作业历史记录。 我在mapred-site.xml中添加了mapreduce.jobhistory.addressmapreduce.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)的情况下,在每个节点中启动历史服务器将不再可行节点。这个问题应该有一些标准的解决方案......

如果有人知道如何解决此问题,请帮助我。 提前致谢…。

1 个答案:

答案 0 :(得分:1)

最后我能够解决这个问题。 实际上在mapreduce.jobhistory.address的情况下,历史服务器仅在一个节点(jps)中运行。 它现在正常工作......