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. IE6、火狐不支持a:visited

    今天做个样式,想让超链接点击后变成灰色,可发现IE里是没问题,可火狐就全灰色的.我测试了好几遍,发现不是顺序的问题.当然可以在火狐里地址栏里输入about:config.可总不能让用户去那里改吧.以下 ...

  2. 3月25日html(六) Javascrip

                             第1部分 JavaScript简介 1.JavaScript它是个什么东西? 它是个脚本语言,需要有宿主文件,他的宿主文件是html文件. 2.它与J ...

  3. isArray

    判断一个玩意是不是数组: (1)新方法:Array.isArray(); (2)旧方法:toString(); <!doctype html> <html lang="en ...

  4. 记录使用Hibernate查询bean中字段和数据库列类型不匹配问题

    今天在工程中遇到Hibernate查询的时候,bean中的字段和数据库中的字段不符合(bean中有pageTime字段,但是数据库中没有此列)报错问题. 具体问题环境: 在auto_off表中,off ...

  5. “express不是内部或外部命令”解决办法

    由于安装的Express是最新版本4.13.1,4.x版本就需要安装express-generator.命令如下:npm install -g express-generator ps: 1.卸载: ...

  6. 关于MPLS协议几个容易忽略的点

    1.随着硬件技术的进步,产生了高速路由器和三层交换机,MPLS提高转发的速度的初衷已经没有多少意义.但是MPLS由于其支持标签栈和面向连接的特点,使其在虚拟专用网,流量工程,QoS等方面得到广泛的应用 ...

  7. Android从相册中获取图片以及路径

    首先是相册图片的获取: private final String IMAGE_TYPE = "image/*"; private final int IMAGE_CODE = 0; ...

  8. WCF服务实现客户端Cookie共享,表单验证的解决方案

    基于前几篇的文章,如果理解了通道 拦截器  服务转发的概念,相信你肯定也能理解咋的玩了. 说白了就是创建客户端的拦截器: 实现接口:IClientMessageInspector. 里面的方法就是客户 ...

  9. Android AutoCompleteTextView和MultiAutoCompleteTextView使用

    Android AutoCompleteTextView和MultiAutoCompleteTextView的功能类似于百度或者Google在搜索栏输入信息的时候,弹出的与输入信息接近的提示信息: 它 ...

  10. NOI 2013 矩阵游戏

    http://uoj.ac/problem/124 矩阵乘法. 十进制快速幂. 刚开始还傻傻地写二进制快速幂,然后陈老师一语点醒梦中人...... #include<cstdio> #in ...