首页 > 解决方案 > Hadoop jobtracker的tracking url无法访问

问题描述

我已经在 wsl 中配置了我的 hadoop 系统并运行了 wordcount 示例。但是当我想查看job的历史时,发现tracking url无法访问。

工作运行良好,工作历史也在运行。

在此处输入图像描述

历史跟踪 url 是我的 wsl 主机名:8088/proxy/application_1585482453915_0002/。

在此处输入图像描述

你可以看到上面的网址。

但是我仍然可以访问 localhost:19888/jobhistory 来查看我的工作历史。

在此处输入图像描述

这个问题是怎么发生的?是不是配置问题?

我的hadoop版本是2.7.1。

我的 core-site.xml

<property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/hadoop/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>

我的 hdfs-site.xml

<property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/hadoop/tmp/dfs/data</value>
    </property>

我的 mapred-site.xml

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>localhost:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>    
        <value>localhost:19888</value>
    </property>

我的纱线站点.xml

<property>
      <name>yarn.nodemanager.vmem-check-enabled</name>
      <value>false</value>
      <description>Whether virtual memory limits will be enforced for containers</description>
  </property>
  <property>
      <name>yarn.nodemanager.vmem-pmem-ratio</name>
      <value>4</value>
      <description>Ratio between virtual memory to physical memory when setting memory limits for containers</description>
  </property>
  <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
  </property>
  <property>
      <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
      <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>

我的 /etc/hosts

127.0.0.1   localhost
127.0.1.1   DESKTOP-U1EOV4J.localdomain DESKTOP-U1EOV4J

标签: hadoopwindows-subsystem-for-linux

解决方案


守护JobHistoryServer程序在localhost(127.0.0.1) 中运行,而跟踪 URL 是使用主机名构造的,因此重定向到DESKTOP-U1EOV4J.localdomain(127.0.1.1)。

对于伪分布式集群,将主机留在 是 更JobHistoryServer安全0.0.0.0

更新作业历史服务器属性mapred-site.xml

   <property>
        <name>mapreduce.jobhistory.address</name>
        <value>0.0.0.0:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>    
        <value>0.0.0.0:19888</value>
    </property>

并重新启动JobHistoryServer.


推荐阅读