gpt4 book ai didi

Hadoop Yarn 容器日志丢失

转载 作者:可可西里 更新时间:2023-11-01 14:56:07 28 4
gpt4 key购买 nike

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

日志:

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 的片段。

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

<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>

最佳答案

当日志聚合完成后,日志会移动到 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 将立即将所有容器日志连接到一个文件中,并将它们上传到 ${yarn.nodemanager.remote-app-log-dir}/${ 中的 HDFS user.name}/logs/并从本地用户日志目录中删除它们

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

关于Hadoop Yarn 容器日志丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45175632/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com