如何在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上任务运行日志存储在
1.使用命令浏览Fayson用户执行的作业日志
hadoop fs -ls /tmp/logs
可以看到/tmp/logs目录下存储了所有用户执行作业的log日志。
2.查看刚刚只是的MapReduce作业,可以看到各个Container的作业日志
hadoop fs -ls /tmp/logs/fayson/logs/application_1514262166956_0009
命令行黄底部分为JobID,可以通过Cloudera Manager的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
那么在任务未运行完时,Container的作业日志是存放在各个节点的yarn.nodemanager.log-dirs目录下。
当任务运行完成后,上述两个目录的日志会被聚合到HDFS的/tmp/logs/{user}/logs/{JobID}目录下并删除本地日志文件。
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
您可能还想看
安装
安全
数据科学
其他
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
以上是关于如何在HDFS上查看YARN历史作业运行日志的主要内容,如果未能解决你的问题,请参考以下文章
Yarn application开启日志聚合,并配置存储路径和周期