Hadoop日志到底存在哪里?

开发 前端 Hadoop
初学者运行MapReduce作业时,经常会遇到各种错误,由于缺乏经验,往往不知所云,一般直接将终端打印的错误贴到搜索引擎上查找,以借鉴前人的经验。

初学者运行MapReduce作业时,经常会遇到各种错误,由于缺乏经验,往往不知所云,一般直接将终端打印的错误贴到搜索引擎上查找,以借鉴前人的经 验。然而,对于hadoop而言,当遇到错误时,***时间应是查看日志,日志里通产会有详细的错误原因提示,本文将总结Hadoop MapReduce日志存放位置,帮助初学者定位自己遇到的错误。

Hadoop MapReduce日志分为两部分,一部分是服务日志,一部分是作业日志,具体介绍如下:

1. Hadoop 1.x版本

Hadoop 1.x中MapReduce的服务日志包括JobTracker日志和各个TaskTracker日志,他们的日志位置如下:

JobTracker:在JobTracker安装节点上,默认位置是

${hadoop.log.dir}/logs/*-jobtracker-*.log,该文件每天生成一个,旧的日志后缀是日期,当天的日志文件 后缀是“.log”,其中${hadoop.log.dir}默认值是hadoop安装目录,即${HADOOP_HOME}。

TaskTracker:在各个TaskTracker安装节点上,默认位置是

$HADOOP_HOME/logs/*-tasktracker-*.log,该文件每天生成一个,旧的日志后面会跟一个日志,当天的日志文件后缀是“.log”

作业日志包括jobhistory日志和task日志两部分,其中,jobhistory日志是作业运行日志,包括作业启动时间、结束时间,每个任 务的启动时间、结束时间,各种counter信息等,用户可以从这个日志中解析出作业运行的各种信息,是非常有价值的信息。默认存放位置是 JobTracker所在节点的${hadoop.log.dir}/history目录下,可通过参数 hadoop.job.history.location配置。每个task日志存放在task运行节点上,存放位置 是${hadoop.log.dir}/userlogs/<jobid>/<attempt-id>目录下,每个task包含 三个日志文件,分别是stdout、stderr和syslog,其中,stdout是通过标准输出打印出来的日志,比如 System.out.println,注意,程序中通过标准输出打印的日志并不会直接显示在终端上,而是保存在这个文件中,syslog是通过log4j打印的日志,通常这个日志中包含的有用信息最多,也是错误调试中最关键的参考日志。

2. Hadoop 2.x版本

Hadoop 2.x中YARN系统的服务日志包括ResourceManager日志和各个NodeManager日志,他们的日志位置如下:

ResourceManager日志存放位置是Hadoop安装目录下的logs目录下的yarn-*-resourcemanager-*.log

NodeManager日志存放位置是各个NodeManager节点上hadoop安装目录下的logs目录下的yarn-*-nodemanager-*.log

应用程序日志包括jobhistory日志和Container日志,其中,jobhistory日志是应用程序运行日志,包括应用程序启动时间、结束时间,每个任务的启动时间、结束时间,各种counter信息等。

Container日志包含ApplicationMaster日志和普通Task日志,它们均存放在Hadoop安装目录下的userlogs目 录中的application_xxx目录下,其中ApplicationMaster日志目录名称为container_xxx_000001,普通 task日志目录名称则为container_xxx_000002,container_xxx_000003,….,同Hadoop 1.x一样,每个目录下包含三个日志文件:stdout、stderr和syslog,且具体含义是一样的。

3. 总结

Hadoop日志是用户定位问题的最重要渠道,对于初学者而言,往往意识不到这一点,或者即使意识到这一点,也找不到日志存放位置,希望本文对初学者有帮助。

原文链接:http://dongxicheng.org/mapreduce-nextgen/hadoop-logs-placement/

责任编辑:陈四芳 来源: dongxicheng.org
相关推荐

2010-03-16 09:57:18

交换机配置文件

2017-03-16 14:31:11

2015-06-30 14:33:52

物联网

2023-06-27 17:30:13

数字化

2020-08-06 09:08:51

开发谷歌微软

2020-12-02 09:51:06

C++语言学习

2018-01-23 11:42:50

程序员编程代码

2010-08-09 09:09:36

Linux与BSD的区

2011-05-05 09:37:35

J-Hi

2016-03-17 20:17:02

人脸识别技术

2021-10-11 20:22:27

JWT浏览器接口

2018-04-26 11:10:56

OLTP列式存储

2019-07-15 09:09:29

RedisJava操作系统

2020-02-04 08:00:12

囧妈哪里

2020-02-07 15:57:03

5G手机牛逼

2021-12-15 06:58:28

RedisEhCache缓存

2012-04-27 10:13:08

云计算数据IaaS

2015-08-26 08:41:19

物联网

2023-02-11 08:18:15

AI人工智能ChatGPT

2021-10-06 19:02:36

Keil编译器Armclang
点赞
收藏

51CTO技术栈公众号