前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在HDFS上查看YARN历史作业运行日志

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

作者头像
Fayson
修改2018-04-01 20:49:35
5.9K0
修改2018-04-01 20:49:35
举报
文章被收录于专栏:Hadoop实操Hadoop实操

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 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.作业提交


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

代码语言:txt
复制
hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5

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

代码语言:txt
复制
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用户执行的作业日志

代码语言:txt
复制
hadoop fs -ls /tmp/logs

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

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

代码语言:txt
复制
hadoop fs -ls /tmp/logs/fayson/logs/application_1514262166956_0009

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

3.查看各个Container的日志

代码语言:txt
复制
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}目录下并删除本地日志文件。

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档