yarn任务失败后如何查看application日志

  问题信息收集
内容纲要

概要描述


目前集群上yarn看日志不是很方便,很多时候webui都点不开,导致客户端提交的yarn任务失败后,找日志比较麻烦。本文提供以下两种找application日志的方法,本案例以compact orc_sin_tbl表任务为例查看相应日志。

详细说明


方法一

  1. 在 metastore 所在节点如 /var/log/inceptor1/hive-metastore.log 文件中,以表名 orc_sin_tbl 为关键字 grep,获取如下日志:

    2022-02-16 13:48:14,237 INFO compactor.CompactorMR: (CompactorMR.java:launchCompactionJob(318)) [xixia03-257()] - Submitted compaction job 'xixia03-257-compactor-default.orc_sin_tbl.sex=F' with jobID=job_1641463406975_0002

  2. 根据上一步操作获得application编号为 1641463406975_0002,完整application为application_1641463406975_0002;

    此时也可以在yarn服务 master Resource Manager的webui看到该任务的信息:

    file

  3. 到集群 master Resource Manager 节点的 /var/log/yarn1/hadoop-yarn-resourcemanager-[hostname].log 中以 application_1641463406975_0002 关键字去grep,获取如下日志:

    2022-02-16 13:47:44,993 INFO org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger: USER=hive OPERATION=AM Allocated Container TARGET=SchedulerApp RESULT=SUCCESS APPID=application_1641463406975_0002 CONTAINERID=container_e154_1641463406975_0002_01_000001

  4. 根据上一条获取到application对应的container为 container_e154_1641463406975_0002_01_000001(注意有时候不止一个container);

  5. 以 container_e154_1641463406975_0002_01_000001 为关键字继续grep Resource Manager的日志,获取如下日志:

    2022-02-16 13:47:44,993 INFO org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode: Assigned container container_e154_1641463406975_0002_01_000001 of capacity <memory:2048, vCores:1> on host xixia01:53905, which has 1 containers, <memory:2048, vCores:1> used and <memory:30084, vCores:9> available after allocation

  6. 根据上一条可以得知container到 xixia01 节点上执行去了,去xixia01上的yarn log目录找到application下的container日志

  7. yarn log的一般配置目录为 /mnt/diskN/hadoop/yarn/logs(推荐下载tree命令来查找),到各个挂载盘中找到相应container目录不为空的那个,一般下面会有stderr,stdout,syslog三个文件

    file

方法二

参考该文档开启日志聚合功能: Yarn 的 Application 日志聚合和定期清理

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。