【问题标题】:Hadoop Yarn container logs missingHadoop Yarn 容器日志丢失
【发布时间】:2019-03-26 17:25:54
【问题描述】:

我们通常可以在“/var/log/hadoop-yarn/containers”路径中看到纱线容器日志。虽然我能够看到成功作业的日志,但我看不到失败作业的日志。节点管理器日志显示被删除的日志。

日志:

2017-07-13 14:16:04,170 INFO org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor (DeletionService #1): Deleting path : /var/log/hadoop-yarn/containers/application_1234567890_12345/container_11234567890_12345_11_0000
01/stdout
2017-07-13 14:16:04,180 INFO org.apache.hadoop.yarn.server.nodemanager.containermanager.logaggregation.AppLogAggregatorImpl (LogAggregationService #6093): renaming /var/log/hadoop-yarn/apps/hadoop/logs/application_1234567890_12345/xx.xx.xx.xx_8041.tmp to /var/log/hadoop-yarn/apps/hadoop/logs/application_1234567890_12345/xx.xx.xx.xx_8041
2017-07-13 14:16:04,181 INFO org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor (DeletionService #3): Deleting path : /var/log/hadoop-yarn/containers/application_1234567890_12345
2017-07-13 14:16:06,048 INFO org.apache.hadoop.yarn.server.nodemanager.containermanager.monitor.ContainersMonitorImpl (Container Monitor): Stopping resource-monitoring for container_11234567890_12345_11_0000

这是我的 yarn-site.xml 的 sn-p。

有人可以建议需要修改哪些配置以保留失败作业的日志吗?

<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

<property>
    <name>yarn.log.server.url</name>
    <value>http://ip-XX.XX.XX.XX:19888/jobhistory/logs</value>
</property>

<property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/mnt/yarn</value>
    <final>true</final>
</property>

<property>
    <description>Where to store container logs.</description>
    <name>yarn.nodemanager.log-dirs</name>
    <value>/var/log/hadoop-yarn/containers</value>
</property>

<property>
    <description>Where to aggregate logs to.</description>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/var/log/hadoop-yarn/apps</value>
</property>


<property>
    <name>yarn.log-aggregation.enable-local-cleanup</name>
    <value>true</value>
</property>

<property>
    <name>yarn.scheduler.increment-allocation-mb</name>
    <value>32</value>
</property>

<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

【问题讨论】:

    标签: hadoop hadoop-yarn amazon-emr


    【解决方案1】:

    日志聚合完成后,日志会被移动到 HDFS,通常是 HDFS 上的 /app-logs。

    检查the documentation中的以下设置

    yarn.nodemanager.remote-app-log-dir 通常 /app-logs 在 HDFS 上,但在您的情况下,它设置为 /var/log/hadoop-yarn/apps,这个目录是否存在于 HDFS 上?看起来本地目录值被错误地放在这里了。

    其他可能有用的设置:

    yarn.log-聚合启用: 如果启用了 ${yarn.log-aggregation-enable},那么 NodeManager 将立即将所有容器日志连接到一个文件中,并将它们上传到 HDFS 的 ${yarn.nodemanager.remote-app-log-dir}/${ user.name}/logs/ 并从本地 userlogs 目录中删除它们

    yarn.nodemanager.delete.debug-delay-sec: 应用程序完成后节点管理器的 DeletionService 将删除应用程序的本地化文件目录和日志目录之前的秒数。要诊断 Yarn 应用程序问题,请将此属性的值设置得足够大(例如,设置为 600 = 10 分钟)以允许检查这些目录。更改属性值后,您必须重新启动节点管理器才能使其生效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多