在生产中,如果登录yarn页面,查看application任务日志,发现日志查看不了,该怎么办
问题报错:
问题原因:
去显示的任务节点上查看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,查看任务日志,发现已经可以查看了
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
评论(0)