问题原因:
去显示的任务节点上查看nodemanager日志,发现是当前存储yarn日志的hdfs单个目录下文件数量已经达到最大值1048576,所以yarn日志聚合不了,导致查看不了
yarn日志聚合:
由于NodeManager将所有Container的运行日志保存到本地磁盘上,因此,随着时间的积累,日志必将越来越多。为了避免大量Container日志“撑爆”磁盘空间,NodeManager将定期清理日志文件,该功能由组件LogHandler(当前存在两种实现:NonAggregatingLogHandler和LogAggregationService)完成。
除定期删除外,NodeManager还提供了另一种日志处理方式——日志聚集转存,管理员可通过将配置参数yarn.log-aggregation-enable置为true启用该功能。
该机制将HDFS作为日志聚集仓库,它将应用程序产生的日志上传到HDFS上,以便统一管理和维护。
解决方法:
1.首先查看yarn的配置文件参数 yarn.nodemanager.remote-app-log-dir,他就是container上传到hdfs的目录
2.在后台,通过命令
hdfs dfs -count /目录名 #查看上传的该目录下,有多少文件
3.查看命令结果,如果>=1048576,就将该目录删除
4.重新登录yarn,查看任务日志,发现已经可以查看了
评论(0)