我们通常可以在"/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>发布于 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才能使其生效。
https://stackoverflow.com/questions/45175632
复制相似问题