【问题标题】:Applications not shown in yarn UI when running mapreduce hadoop job?运行 mapreduce hadoop 作业时,纱线 UI 中未显示应用程序?
【发布时间】:2014-08-22 11:48:35
【问题描述】:

我正在使用Hadoop2.2。我看到我的工作圆满完成。我可以浏览文件系统来查找输出。但是,当我浏览 http://NNode:8088/cluster/apps 时,我看不到任何到目前为止已完成的应用程序(我运行了 3 个 wordcount 作业,但这里没有看到)。

是否有需要考虑的配置?

这里是yarn-site.xml

<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>NNode</value>
    </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>
-->

这里是mapred-site.xml

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

我也正在运行作业历史服务器:

jps
4422 NameNode
5452 Jps
4695 SecondaryNameNode
4924 ResourceManager
72802 Jps
5369 JobHistoryServer

【问题讨论】:

  • 尝试检查 hadoop 日志文件。您可能会在那里发现警告或错误。但是您的数据节点似乎已关闭
  • @eliasah:数据节点运行良好。我没有在datanode上显示jps。我上面展示的是namenode(master)。数据节点运行良好,甚至我的工作也完成了。
  • @brainstorm 你能发布一个字数统计工作的全部输出吗?全部。
  • 输出,我的意思是你在终端中得到什么
  • @climbage:感谢您的帮助。我观察到两件事,一是我需要在我的名称节点中启动纱线。然后它似乎工作。如果我在客户端执行start-yarn.sh,它不会启动资源管理器。我不知道为什么。其次,虽然我看到我的工作列在应用程序窗口中,但我找不到有关映射器和减速器数量等的信息。在 hadoop1 中,我猜在 50030 端口中很容易找到它们。你知道如何在用户界面上的 hadoop2 中获取该信息

标签: hadoop-yarn hadoop2


【解决方案1】:

申请完成后,他们的职责可能会转移到Job History Server。所以检查Job History Server URL。它通常侦听端口19888。例如

http://&lt;job_history_server_address&gt;:19888/jobhistory

日志目录和日志保留持续时间可在yarn-site.xml 中配置。使用YARN,甚至可以将日志聚合到单个(可配置)位置。

有时,即使列出了应用程序,日志也不可用(我不确定这是否是由于 YARN 中的一些错误造成的)。但是,几乎每次我都能使用命令行获取日志:

yarn logs -applicationId the_application_id

虽然有多种选择。使用帮助了解详情:

纱线日志 --help

【讨论】:

    【解决方案2】:

    您可以参考Hadoop is not showing my job in the job tracker even though it is running

                        conf.set("fs.defaultFS", "hdfs://master:9000");
                        conf.set("mapreduce.jobtracker.address", "master:54311");
                        conf.set("mapreduce.framework.name", "yarn");
                        conf.set("yarn.resourcemanager.address", "master:8032");
    

    我在集群中进行了测试。有效!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      • 1970-01-01
      相关资源
      最近更新 更多