如何在HDFS上查看YARN历史作业运行日志

Posted Hadoop实操

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在HDFS上查看YARN历史作业运行日志相关的知识,希望对你有一定的参考价值。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


Fayson的github:https://github.com/fayson/cdhproject


提示:代码块部分可以左右滑动查看噢


1.文档编写目的



在未开通Yarn Web界面端口8088,或者开通了8088,没有开通单个NodeManager如8042时,在MapReduce作业有失败时,往往我们没法直接通过界面查看某个container具体报错日志,从而不方便分析作业出错原因。这时,我们可以在HDFS上查看MapReduce的历史作业日志。本篇文章主要介绍如何通过HDFS查看YARN历史作业Container日志。


  • 内容概述

1.提交作业

2.查看Container日志


  • 测试环境

1.CM和CDH版本为5.11.2


2.作业提交



这里我们通过一个作业来说明日志的存储路径,首先在命令行向集群提交一个作业:


hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5


控制台输出日志如下,提示:代码块部分可以左右滑动查看噢


Number of Maps  = 5
Samples per Map = 5
Wrote input for Map #0
Wrote input for Map #1
Wrote input for Map #2
Wrote input for Map #3
Wrote input for Map #4
Starting Job
17/12/26 06:42:09 INFO hdfs.DFSClient: Created token for fayson: HDFS_DELEGATION_TOKEN owner=fayson@CLOUDERA.COM, renewer=yarn, realUser=, issueDate=1514288529674, maxDate=1514893329674, sequenceNumber=568, masterKeyId=150 on ha-hdfs:nameservice1
17/12/26 06:42:09 INFO security.TokenCache: Got dt for hdfs://nameservice1; Kind: HDFS_DELEGATION_TOKEN, Service: ha-hdfs:nameservice1, Ident: (token for fayson: HDFS_DELEGATION_TOKEN owner=fayson@CLOUDERA.COM, renewer=yarn, realUser=, issueDate=1514288529674, maxDate=1514893329674, sequenceNumber=568, masterKeyId=150)
17/12/26 06:42:09 INFO input.FileInputFormat: Total input paths to process : 5
17/12/26 06:42:09 INFO mapreduce.JobSubmitter: number of splits:5
17/12/26 06:42:10 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1514262166956_0009
17/12/26 06:42:10 INFO mapreduce.JobSubmitter: Kind: HDFS_DELEGATION_TOKEN, Service: ha-hdfs:nameservice1, Ident: (token for fayson: HDFS_DELEGATION_TOKEN owner=fayson@CLOUDERA.COM, renewer=yarn, realUser=, issueDate=1514288529674, maxDate=1514893329674, sequenceNumber=568, masterKeyId=150)
17/12/26 06:42:10 INFO impl.YarnClientImpl: Submitted application application_1514262166956_0009
17/12/26 06:42:10 INFO mapreduce.Job: The url to track the job: http://ip-172-31-21-45.ap-southeast-1.compute.internal:8088/proxy/application_1514262166956_0009/
17/12/26 06:42:10 INFO mapreduce.Job: Running job: job_1514262166956_0009



3.查看各个Container的日志



CDH上默认将yarn.log-aggregation-enable参数设置为true,使运行完成的任务将日志推送到HDFS上,以方便作业日志集中管理和分析。


如何在HDFS上查看YARN历史作业运行日志


HDFS上任务运行日志存储在


如何在HDFS上查看YARN历史作业运行日志


1.使用命令浏览Fayson用户执行的作业日志


hadoop fs -ls /tmp/logs


如何在HDFS上查看YARN历史作业运行日志


可以看到/tmp/logs目录下存储了所有用户执行作业的log日志。


2.查看刚刚只是的MapReduce作业,可以看到各个Container的作业日志


hadoop fs -ls /tmp/logs/fayson/logs/application_1514262166956_0009


如何在HDFS上查看YARN历史作业运行日志


命令行黄底部分为JobID,可以通过Cloudera ManagerYarn服务应用程序界面查看


如何在HDFS上查看YARN历史作业运行日志


3.查看各个Container的日志


hadoop fs -cat /tmp/logs/fayson/logs/application_1514262166956_0009/ip-172-31-22-86.ap-southeast-1.compute.internal_8041|more


如何在HDFS上查看YARN历史作业运行日志


那么在任务未运行完时,Container的作业日志是存放在各个节点的yarn.nodemanager.log-dirs目录下。


如何在HDFS上查看YARN历史作业运行日志


如何在HDFS上查看YARN历史作业运行日志



当任务运行完成后,上述两个目录的日志会被聚合到HDFS/tmp/logs/{user}/logs/{JobID}目录下并删除本地日志文件。



为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。




您可能还想看


安装










安全









数据科学













其他










推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。


以上是关于如何在HDFS上查看YARN历史作业运行日志的主要内容,如果未能解决你的问题,请参考以下文章

132、Spark核心编程进阶之yarn模式下日志查看

Yarn application开启日志聚合,并配置存储路径和周期

Flink配置Yarn日志聚合配置历史日志。

yarn 配置日志聚集

Pyspark:如何在 Yarn 集群上运行作业时对多个文件使用 --files 标签

Flink On Yarn如何查看任务日志