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中。

hadoop集群中的日志文件的更多相关文章

  1. hadoop集群中的日志文件 分类: A1_HADOOP 2015-02-28 20:37 680人阅读 评论(0) 收藏

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

  2. Hadoop集群中添加硬盘

    Hadoop工作节点扩展硬盘空间 接到老板任务,Hadoop集群中硬盘空间不够用,要求加一台机器到Hadoop集群,并且每台机器在原有基础上加一块2T硬盘,老板给力啊,哈哈. 这些我把完成这项任务的步 ...

  3. 在Hadoop集群中添加机器和删除机器

    本文转自:http://www.cnblogs.com/gpcuster/archive/2011/04/12/2013411.html 无论是在Hadoop集群中添加机器和删除机器,都无需停机,整个 ...

  4. hadoop集群中客户端修改、删除文件失败

    这是因为hadoop集群在启动时自动进入安全模式 查看安全模式状态:hadoop fs –safemode get 进入安全模式状态:hadoop fs –safemode enter 退出安全模式状 ...

  5. hadoop集群间的hdfs文件拷贝

    1.背景 部门有个需求,在网络互通的情况下,把现有的hadoop集群(未做Kerberos认证,集群名为:bd-stg-hadoop)的一些hdfs文件拷贝到新的hadoop集群(做了Kerberos ...

  6. hadoop集群中动态添加新的DataNode节点

    集群中现有的计算能力不足,须要另外加入新的节点时,使用例如以下方法就能动态添加新的节点: 1.在新的节点上安装hadoop程序,一定要控制好版本号,能够从集群上其它机器cp一份改动也行 2.把name ...

  7. hadoop集群中动态添加节点

    集群的性能问题需要增加服务器节点以提高整体性能 https://www.cnblogs.com/fefjay/p/6048269.html hadoop集群之间hdfs文件复制 https://www ...

  8. 如何使用Hive&R从Hadoop集群中提取数据进行分析

    一个简单的例子! 环境:CentOS6.5 Hadoop集群.Hive.R.RHive,具体安装及调试方法见博客内文档. 1.分析题目 --有一个用户数据样本(表名huserinfo)10万数据左右: ...

  9. hadoop 集群中数据块的副本存放策略

    HDFS采用一种称为机架感知(rack-aware)的策略来改进数据的可靠性.可用性和网络带宽的利用率.目前实现的副本存放策略只是在这个方向上的第一步.实现这个策略的短期目标是验证它在生产环境下的有效 ...

随机推荐

  1. JSP中页面定时刷新

    1.JSP中页面定时刷新 <% //页面每隔30秒自动刷新一遍 response.setHeader("refresh" , "30" ); %> ...

  2. Clover周报模块 -- 开发总结

    2014年7月8日 00:16:05 一.切图 这次开发,切图花了不少时间,样式是用scss写的,第一次用,不过用着用着就发现它的强大,层级.作用域.重用等都非常的方便,还有考拉神器,用着真是爽!不过 ...

  3. C语言写猜拳游戏中遇到的函数循环小问题

    各位可能在初学C语言的时候都有写过猜拳游戏.但在写猜拳的函数时,避免不了会使用循环. 当函数被套在一个循环中的时候,你的计分变量可能就会被重置为函数体里的初始值.那么怎么解决这个问题? 其实很简单,你 ...

  4. repo sync 时的自动续接脚本[转]

    按理说在repo init  ....之后使用repo sync就可以开始下载源码了,但是在下载过程中经常会出现没网速“死”的情况.当然,我修改了/etc/hosts文件之后就再也么有死过.在没网速提 ...

  5. IOS 解析XML文档

    前段时间想找点事做,就是试着看能不能用豆瓣的API做点什么,于是就碰到了这个问题——XML解析. 老师还没讲,只能自己去查. XML文档解析主要有SAX和DOM两种模式,IOS上两种模式都可以用,这里 ...

  6. ubuntu apache svn 参考

    Ubuntu下Subversion服务器的安装配置     本文涉及的范围 要通过 HTTP 协议访问 Subversion 文件仓库,需要安装并配置好 Web 服务器.Apache2 被证实可以很好 ...

  7. linux下如何编译python生成libpython2.5.so动态库

    http://biancheng.dnbcw.info/python/245306.html

  8. Loading Cargo

    Loading Cargo "Look Stephen, here's a list of the items that need to be loaded onto the ship. W ...

  9. dos判断系统版本的语句,

    是我在单位批量安装软件使用的批处理,判断方法如下,仅供参考,本人不懂任何编程,大家凑合着看: winxp和win7判断: net config workstation |(find /i " ...

  10. Delphi TcxTreeListColumn 的 ImageComboBox 用法

    1.设置图片如下: 设置默认值: if Trim(FQuery.fieldByName('cPersonCategory').AsString) = '' then begin CNode.Value ...