前言

最近这个新集群搭建完后,出现了很多问题,今天又出现了要给蛋疼的问题,执行了一个测试代码,想要通过yarn查看日志,可以用命令:

yarn logs -applicationId application__1576828612082_0004_000001

也可以直接再Web UI中点击查看:

本来很简单的操作,谁知道在这个集群就报错了

出现的问题

点击Web中的logs后直接跳转到如下一个页面:

使用命令后也同样报错:

Logs not available for container_1576828612082_0004_000001. Aggregation may not be complete, Check back later or try the nodemanager at slave13:8041
Or see application log at http://slave13:8041/node/application/1576828612082_0004_000001

从字面理解就是说:日志没有完成聚合,可还是搞不懂啥意思

查资料给出的解决方案

在yarn-site.xml在这个文件下面添加

<!--log--><property><name>yarn.log-aggregation-enable</name><value>true</value></property><property><name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name><value>3600</value></property><property><name>yarn.nodemanager.remote-app-log-dir</name><value>/tmp/logs</value></property>

yarn.log-aggregation-enable属性意思是: 是否启用日志聚合
我直接通过Yarn的WebUi查看,发现
默认就是勾选的,为true

yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds这个属性在Web Ui中根本就没有,大概意思就是:日志聚合监控间隔秒数
既然默认没有,我就先没有处理这个参数

yarn.nodemanager.remote-app-log-dir参数的意思是:应用程序结束时存储应用程序日志的 HDFS 目录。

查看WebUi后:

看到这个目录,我忽然意识到,本来默认路径就是/tmp/logs和logs,我之前根本不了解这个参数是什么,以为是本机的目录,感觉日志放在/tmp目录下有可能放不下(真是无知的让人汗颜),于是改到/data目录…
可这样就会出现上面的问题吗?先改回来,然后重启过期配置,发现竟然可以了。。。

于是赶紧查找了资料重新认识了一下有关Yarn logs方面的知识:

  1. MR运行过程中,日志将暂存于yarn.nodemanager.log-dirs配置项指定的本地路径下,默认为/var/log/hadoop-yarn/container;

  2. MR运行结束后(无论正常结束与否),将持久化日志到yarn.nodemanager.remote-app-log-dir和yarn.nodemanager.remote-app-log-dir-suffix配置项指定的HDFS路径下,前者默认为/tmp/logs,后者默认为logs。HDFS的实际路径为yarn.nodemanager.remote−app−log−dir/{yarn.nodemanager.remote-app-log-dir}/yarn.nodemanager.remote−app−log−dir/{user}/yarn.nodemanager.remote−app−log−dir−suffix/{yarn.nodemanager.remote-app-log-dir-suffix}/yarn.nodemanager.remote−app−log−dir−suffix/{application_id},例如:/tmp/logs/root/logs/application_1427333457223_0068;

  3. 日志持久化后,会删除本地的暂存日志;

  4. 在自定义的SortComparatorClass中定义的日志,将输出在map日志中;在自定义的GroupingComparatorClass中定义的日志,将输出在reduce日志中;在自定义WritableComparable中定义的日志,如果在map或者reduce中使用了该WritableComparable,将输出到对应的map或者reduce日志中;

  5. 不建议在MR中,尤其是线上环境下,生成太多的MR日志。否则,将极大的增加磁盘I/O负载。还有,即使MR任务已经完成,但是YARN还未完成从本地到HDFS的日志收集。此时访问日志时,可能还会出现提示"Logs not available for attempt_1427333457223_0072_m_000015_0. Aggregation may not be complete, Check back later or try the nodemanager at sjxt-hd04:8041";

  6. MR运行中,Map和shuffle的输出都将落在本地,路径由yarn.nodemanager.local-dirs配置项指定。

Yarn无法查看日志: Aggregation may not be complete, Check back later or try the nodemanager at xxxx:xxxx相关推荐

  1. 通过yarn命令查看日志

    通过yarn命令(用户要和提交任务的用户一致) 1)yarn application -list -appStates ALL(这个不显示时间信息) 显示所有任务. 2)yarn logs -appl ...

  2. yarn logs 查看日志

    使用yarn调度进行进程,在8088端口界面看到如下的错误: Application application_1623204896492_0009 failed 2 times due to AM C ...

  3. Logs not available for attempt_1617003408016_0002_m_000000_0. Aggregation may not be complete, Check

    打开yarn-site.xml文件 粘贴下面代码 <property><name>yarn.log-aggregation-enable</name><val ...

  4. Spark on YARN :yarn-cluster模式如何查看日志

    Spark on YARN 两种模式yarn-cluster yarn-client 一:yarn-client 在运行时是可以看到日志的 而yarn-cluster是看不懂的,那么问题来了,如何查看 ...

  5. flink yarn模式提交及查看日志

    一.Yarn session(一般测试环境) yarn session会初始启动指定的tm数量.  job提交后再指定的session 内运行. 其它job运行,如果资源不够,就会一直等待直到占用的j ...

  6. 通过yarn上的applicationId杀死hadoop中的任务,或通过hadoop job命令停止任务、yarn container 的日志路径

    示例: $ yarn application -kill application_Id hadoop命令行 与job相关的: 命令行工具 • 1.查看 Job 信息: hadoop job -list ...

  7. yarn 怎么查看有多个job在跑_flink on yarn 模式下提示yarn资源不足问题分析

    背景 在实时计算平台上通过YarnClient向yarn上提交flink任务时一直卡在那里,并在client端一直输出如下日志: (YarnClusterDescriptor.java:1036)- ...

  8. Yarn 历史任务日志解释和配置

    转载来自:https://www.jianshu.com/p/83fcf7478dd7 前言 Yarn中的id种类繁多,比较乱,下面整理下yarn中常出现的几种id,分别介绍一下. 1)jobId 描 ...

  9. Docker学习(五)-----Docker查看日志

    八.Docker查看日志 docker logs 容器名称/ID docker logs -f -t --since="2018-12-1" --tail=10 qfjy_exam ...

最新文章

  1. 金山员工被离职后拿到高薪工作:感谢公司辞退我,还给我赔偿金
  2. 程序员用5分钟,把一个400多MB的苹果安装包削掉了187MB
  3. 后盾网lavarel视频项目---2、phpstorm显示类中的方法快捷键
  4. 线性代数分块矩阵求逆矩阵_单位矩阵属性(AI = A)| 使用Python的线性代数
  5. dz论坛连接mysql数据库_dz论坛搬家后连接数据库等教程
  6. list大数据转换对象_EXCEL比分列强大百倍的数据转换功能
  7. Java多线程系列---“基础篇”08之 join()
  8. ES2022 有什么新功能?一起来瞧瞧
  9. 信息奥赛课课通(C++)p139-例3幸运数的划分
  10. STEINS;GATE ELITE(中文名《命运石之门:精英》)游戏通关流程
  11. 百度旋转验证码识别平台接口文档
  12. ant学习笔记—自定义Ant任务
  13. 点击劫持漏洞修复(前端、后端)
  14. CHARISMA平台采用J2EE技术构建,MVC设计模式
  15. Oulipo HDU - 1686--strlen()耗时啊啊啊--KMP
  16. *floa类型和long类型那个取值范围更大?
  17. 关于ajax的,关于AJAX
  18. 为什么计算机的网络id,网络ID、主机ID和子网掩码
  19. win10系统启动多了onekeyGhost 或者 其他 系统,如何删除
  20. Linux 下文件的查询与搜索

热门文章

  1. tp5 mkdir(): Permission denied 问题
  2. JS函数assign
  3. python 获取二维数组所有元素
  4. javascript 模拟滚动 隐藏滚动条
  5. vue 项目安装 (入门)
  6. [SQL提数]函数的灵活使用
  7. ADO.NET 3.5 同SQL 2008的新的存储过程保存方式
  8. dbForge Studio for SQL Server入门教程:如何创建和编辑查询
  9. 区分const,static,readonly,volatile四个关键字
  10. Volley的原理解析