如何在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实操(gh_c4c535955d0f)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

Node.js真的无所不能?那些不适用的应用领域分析

Node.js是一个服务器端JavaScript解释器,底层采用的还是libevent;它的目标是帮助程序员构建高度可伸缩的应用程序,目前对Node.js 的采...

409100
来自专栏Golang语言社区

Node.js新手必须知道的4个JavaScript概念

如果只需要知道一种编程语言就可以构建一个全栈的应用程序,是不是特别了不起?Ryan Dahl为了把这个想法成为现实,创造了node.js。Node.js是建立在...

31140
来自专栏Golang语言社区

使用Go开发一个简单的服务器程序

最近有个小项目,需要一个简单的后台程序来支撑,本来想用Nodejs来做,但是由于本人js一直很菜,并且很讨厌callback,虽然我也很喜欢异步模型,但我一直都...

32080
来自专栏原创

五个最佳案例带你解读Node.js的前后之道

Node.js 是什么? Node.js采用C++语言编写而成,浏览器内核V8做为执行引擎;Node不是JS应用、而是一个Javascript的运行环境。Nod...

429100
来自专栏Golang语言社区

使用Go开发一个简单的服务器程序

最近有个小项目,需要一个简单的后台程序来支撑,本来想用Nodejs来做,但是由于本人js一直很菜,并且很讨厌callback,虽然我也很喜欢异步模型,但我一直都...

38060
来自专栏Golang语言社区

如何使用 Go 语言写游戏服务器?

之前先后用Erlang,nodejs做过tcp,http的游戏服务器。接触了golang一两个月(纯新手),想在最近的tcp网游项目中使用,但又担心以下问题: ...

1.3K50
来自专栏Golang语言社区

提升 Node.js 应用性能的 5 个技巧

“如果nginx没有在你的节点服务器之前,那么你可能就错了。”Bryan Hughes在Twitter上说 Node.js是全球领先的用JavaScript——...

40140
来自专栏Golang语言社区

提升 Node.js 应用性能的 5 个技巧

“如果nginx没有在你的节点服务器之前,那么你可能就错了。”Bryan Hughes在Twitter上说 Node.js是全球领先的用JavaScript——...

35060
来自专栏技术杂谈

用100行Nodejs代码写微博爬虫

执行fetchHtml的时候附带登录的 Cookie,本文把 Cookie 存在 Cookie.txt

2.5K80
来自专栏Golang语言社区

Node.js新手必须知道的4个JavaScript概念

如果只需要知道一种编程语言就可以构建一个全栈的应用程序,是不是特别了不起?Ryan Dahl为了把这个想法成为现实,创造了node.js。Node.js是建立在...

35870

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励