我是否必须在所有节点上运行history server才能在hadoop集群webui中获取作业历史

mrphzbgm  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(367)

我在hadoop集群中面临一个问题。我有一个hadoop集群,有5个datanode和一个edge/gateway节点。我的问题是,我必须在每个节点(1个namenode和5个datanodes)中启动history服务器,才能从hadoopwebui获取任何提交作业的作业历史。我补充说 mapreduce.jobhistory.address 以及 mapreduce.jobhistory.webapp.address 在mapred-site.xml中,但我猜它工作不正常。如果我只在name节点或任何其他节点中启动history服务器,hadoop集群webui将无法显示作业历史,并最终导致一些错误。
我的Map站点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和all data节点)手动启动history服务器。但我认为这是不对的。
现在我只有5个数据节点,所以在每个节点上手动启动历史服务器仍然是可行的,但是如果有多个节点(比如100/200),在每个节点上启动历史服务器就不再可行了。对于这个问题应该有一些标准的解决方案。。。
如果有人知道如何解决这个问题,请帮助我。提前谢谢…。

tzcvj98z

tzcvj98z1#

我终于可以解决这个问题了。实际上是为了防止 mapreduce.jobhistory.address ,它将显示历史服务器仅在一个节点上运行(jps)。现在工作正常了。。。

相关问题