阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hadoop集群中的日志文件

157次阅读
没有评论

共计 3234 个字符,预计需要花费 9 分钟才能阅读完成。

Hadoop 存在多种日志文件,其中 master 上的日志文件记录全面信息,包括 slave 上的 jobtracker 与 datanode 也会将错误信息写到 master 中。而 slave 中的日志主要记录完成的 task 任务信息。

默认情况下,hadoop 日志保存在 HADOOP_INSTALL/logs 目录,但一般情况下建议重新指定路径,常用的是 /var/log/hadoop,通过在 hadoop-env.sh 中增加以下一行来实现:
export HADOOP_LOG_DIR=/var/log/hadoop

一、master 服务器上的日志

1、保存在 master 服务器上的日志有以下四类。注意,tasktracker 与 datanode 上的部分日志会保存在 master 中,方便出现问题时定位至具体服务器。

2、master 中主要有 2 种日志,分别以 log 与 out 作后缀,其中每一个守护进程都会产生这 2 个日志,如 jobtracker/ namenode/ tasktracker/ datanode 均会分别产生这 2 个日志文件。这 2 个文件均是每天生成一个。

3、log 日志文件通过 log4j 记录的,大部分应用程序的日志消息都写到该日志文件中,故障诊断的首要步骤即为检查该文件。【此日志文件最重要】
out 日志文件记录标准输出和标准错误日志,由于大多日志均使用 log4j 输出至 log 日志文件中,因此此文件很小或者为空。系统仅保留最新的 5 个日志。

4、这 2 类日志的命名均包含用户名称、守护进程名称和本地主机名等信息。

二、slave 服务器上的日志

(一)tasktracker 相关日志
每个 tasktracker 子进程都用 log4j 产生以下 4 个日志文件,这些日志记录了各个 task 的日志输出。
1、日志文件 (syslog)
通过 Log4j 记录的日志

2、保存发到标准输出数据的文件(stdout)

3、保存标准错误的文件(stderr)

4、log.index

(1)tasktracker 会记录它所运行的所有 task 的日志,默认目录为 $HADOOP_LOG_DIR/userlogs。且每个 job 单独生成一个目录,如下:
[jediael@slave1 userlogs]$ pwd
/mnt/jediael/hadoop-1.2.1/logs/userlogs
jediael@slave1 userlogs]$ ls
job_201502271057_0243  job_201502271057_0245  job_201502271057_0247  job_201502271057_0250  job_201502271057_0253
job_201502271057_0244  job_201502271057_0246  job_201502271057_0249  job_201502271057_0251  job_201502271057_0255

(2)进入具体目录,内容如下
[jediael@slave1 job_201502271057_0243]$ ll
total 16
lrwxrwxrwx 1 jediael jediael  95 Feb 28 15:06 attempt_201502271057_0243_m_000000_0 -> /mnt/tmphadoop/mapred/local/userlogs/job_201502271057_0243/attempt_201502271057_0243_m_000000_0
lrwxrwxrwx 1 jediael jediael  95 Feb 28 15:06 attempt_201502271057_0243_m_000001_0 -> /mnt/tmphadoop/mapred/local/userlogs/job_201502271057_0243/attempt_201502271057_0243_m_000001_0
lrwxrwxrwx 1 jediael jediael  95 Feb 28 15:06 attempt_201502271057_0243_m_000002_0 -> /mnt/tmphadoop/mapred/local/userlogs/job_201502271057_0243/attempt_201502271057_0243_m_000002_0
-rw-r—– 1 jediael jediael 502 Feb 28 15:06 job-acls.xml
由此可见,这个 tasktracker 运行了 3 个 job_201502271057_0243 的 task,这个 task 的日志目录只是一个链接,它具体链接至 tmphadoop 目录下。

(3)进入实际目录,可以发现以下 4 个日志文件
[jediael@slave1 userlogs]$ cd /mnt/tmphadoop/mapred/local/userlogs/job_201502271057_0243/attempt_201502271057_0243_m_000000_0
[jediael@slave1 attempt_201502271057_0243_m_000000_0]$ ll
total 36
-rw-r–r– 1 jediael jediael  154 Feb 28 15:06 log.index
-rw-rw-r– 1 jediael jediael    0 Feb 28 15:06 stderr
-rw-rw-r– 1 jediael jediael    0 Feb 28 15:06 stdout
-rw-rw-r– 1 jediael jediael 30248 Feb 28 15:06 syslog

(二)datanode 相关日志

三、审计日志
这个日志记录所有 HDFS 请求,默认是关闭的。一般写入 namenode 的日志中
在 log4j.properties 属性文件中设置以下选项:
# All audit events are logged at INFO level
log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=WARN
由于审计信息在 INFO 级别实现的,因此将 WARN 改为 info 即可开启审计。

四、MR 作业历史日志
记录已经完成的任务,放在 HADOOP_LOG_DIR/histroy 中。

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计3234字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中