首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hadoop Yarn容器日志丢失

Hadoop Yarn容器日志丢失
EN

Stack Overflow用户
提问于 2017-07-19 03:37:45
回答 1查看 2.7K关注 0票数 3

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

日志:

代码语言:javascript
复制
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的一段代码。

有人能建议一下需要修改哪些配置才能保留失败作业的日志吗?

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

发布于 2019-03-26 17:25:55

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

检查the documentation中的以下设置

在HDFS上,这个目录通常是/app-logs,但是在您的例子中,它被设置为/var/log/hadoop-var/apps,这个目录在HDFS上存在吗?看起来本地目录值被错误地放在这里。

其他可能有用的设置:

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45175632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档