查看日志是发现Hadoop问题和解决Hadoop问题的第一步。

  开始我不知道该去哪找日志,后来我发现在我启动节点的时候,有打印信息以及明确告诉了日志写在哪。

[root@master hadoop]# ./sbin/start-dfs.sh

master.hadoop: starting namenode, logging to /root/hadoop/logs/hadoop-root-namenode-master.hadoop.out

slave2.hadoop: starting datanode, logging to /root/hadoop/logs/hadoop-root-datanode-slave2.hadoop.out

slave1.hadoop: starting datanode, logging to /root/hadoop/logs/hadoop-root-datanode-slave1.hadoop.out

Starting secondary namenodes [master.hadoop]

master.hadoop: starting secondarynamenode, logging to /root/hadoop/logs/hadoop-root-secondarynamenode-master.hadoop.out
[root@master hadoop]# ./sbin/start-yarn.sh

starting yarn daemons

starting resourcemanager, logging to /root/hadoop/logs/yarn-root-resourcemanager-master.hadoop.out

slave1.hadoop: starting nodemanager, logging to /root/hadoop/logs/yarn-root-nodemanager-slave1.hadoop.out

slave2.hadoop: starting nodemanager, logging to /root/hadoop/logs/yarn-root-nodemanager-slave2.hadoop.out

  

  NameNode:Hadoop目录下的logs目录下/hadoop-*-namenode-主节点.out。

  DataNode:Hadoop目录下的logs目录下/hadoop-*-datanode-从节点.out。

  secondarynamenode:Hadoop目录下的logs目录下/hadoop-*-secondarynamenode-主节点.out

  resourcemanager:Hadoop目录下的logs目录下/yarn-*-resourcemanager-主节点.out

  nodemanager:Hadoop目录下的logs目录下/yarn-*-nodemanager-从节点.out


  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单独生成一个目录,如下:
  [root@slave1 userlogs]$ pwd
  /root/hadoop/logs/userlogs
  root@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)进入具体目录,内容如下
  [root@slave1 job_201502271057_0243]$ ll
  total 16
  lrwxrwxrwx 1 root root  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 root root  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 root root  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 root root 502 Feb 28 15:06 job-acls.xml
  由此可见,这个tasktracker运行了3个job_201502271057_0243的task,这个task的日志目录只是一个链接,它具体链接至tmphadoop目录下。

  (3)进入实际目录,可以发现以下4个日志文件
  [root@slave1 userlogs]$ cd /mnt/tmphadoop/mapred/local/userlogs/job_201502271057_0243/attempt_201502271057_0243_m_000000_0
  [root@slave1 attempt_201502271057_0243_m_000000_0]$ ll
  total 36
  -rw-r--r-- 1 root root   154 Feb 28 15:06 log.index
  -rw-rw-r-- 1 root root     0 Feb 28 15:06 stderr
  -rw-rw-r-- 1 root root     0 Feb 28 15:06 stdout
  -rw-rw-r-- 1 root root 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中。

Hadoop2.x 关于日志文件位置的更多相关文章

  1. logback日志文件位置动态指定

    logback日志文件位置动态指定 参考:https://stackoverflow.com/questions/19518843/logback-configuration-via-jvm-argu ...

  2. IIS6_IIS7日志文件位置

    准备统计下页面访问量 查找IIS日志,发现在以前IIS6日志的位置,竟然木有找到日志... 查看下IIS设置,发现IIS7和6的默认日志位置不一样额... IIS 6 Log files locati ...

  3. 确认oracle数据库错误日志文件位置

     在命令行里面输入: show parameter background_dump_dest 执行之后会显示一个目录,这个目录就是错误日志目录 在这目录下回有alert*.log 类似这样的文件,这个 ...

  4. linux crontab 文件位置和日志位置

    一.文件位置 位置一般在/var/spool/cron/下,如果你是root用户,那下面有个root文件,建议日常备份,避免误删除导致crontab 文件丢失: 二.日志文件位置 默认情况下,cron ...

  5. lnmp vps服务器删除mysql日志文件三种方法

    我在上一篇文章介绍了著名的LNMP主机一键安装工具,对比了军哥lnmp和AMH主机的差别,由于AMH拥有用户后台界面,易于新手操作,值得推荐. 但是,上周末我网站宕机,收到DNSPOD发来了宕机提醒, ...

  6. 将输出语句打印至tomcat日志文件中

    tomcat-9.0.0 将程序中            System.out.println("------------这是输出语句System.out.println()-------- ...

  7. 查看oracle数据库日志存放位置

    1,默认情况下,oracle的日志文件记录在$ORACLE/rdbms/log目录下 [oracle@oracle log]$ pwd /home/oracle/oracle/product/11.2 ...

  8. SCCM2007日志文件

    Microsoft System Center Configuration Manager 2007 中的所有客户端和站点服务器组件都将过程信息记录在单个日志文件中.您可以使用客户端和站点服务器日志文 ...

  9. MySQL复制(二)--基于二进制日志文件(binlog)配置复制

    基础环境:   主库 从库 服务器IP地址 192.168.10.11 192.168.10.12 版本 5.7.24 5.7.24 已存在的数据库 mysql> show databases; ...

随机推荐

  1. Unity 动画资源与模型资源的区别

    动画资源: 模型资源: 对比: 模型文件多出来了 Materials + 贴图 + mesh文件,少了avatar文件 PS:动画资源,是指动画片段,即animation chip,它一般包含在模型资 ...

  2. jQuery选择器、事件、节点、动画效果

    一.选择器  基本选择器:    标签选择器:  $("h1").css()    类选择器:  $(".c").css()    id选择器:  $(&quo ...

  3. 蓝桥杯_基础训练_Sine之舞

    基础练习 Sine之舞   时间限制:1.0s   内存限制:512.0MB 问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功.所以他准备和奶牛们做 ...

  4. 设置mySql的编码方式为utf-8

    检查命令: mysql> show variables like '%char%'; 期望结果: 使用mysql命令设置: 如果仍有编码不是utf8的,请检查配置文件,也可使用mysql命令设置 ...

  5. 博客模板更新CSS

    采用了作者#a的模板BlueSky进行了些许修改 在原有基础上加了三个样式,使页面显示风格统一些 #home{ background-color:#fff; } #main{ background-c ...

  6. [USACO 2009 Feb Gold] Fair Shuttle (贪心+优先队列)

    题目大意:有N个站点的轻轨站,有一个容量为C的列车起点在1号站点,终点在N号站点,有K组牛群,每组数量为Mi(1≤Mi≤N),行程起点和终点分别为Si和Ei(1≤Si<Ei≤N).计算最多有多少 ...

  7. 代理上网环境配置docker私有库

    最后更新时间:2018年12月27日 Docker使用代理上网去 pull 各类 images,需要做如下配置: 创建目录: /etc/systemd/system/docker.service.d ...

  8. 关于一些运算(&(与运算)、|(或运算)、^(异或运算)........)的本质理解【转】

    看到一篇博客,关于一些运算的解析,觉得有用,怕以后找不着,直接复制下来,以备以后学习用 原文链接:https://blog.csdn.net/xiaopihaierletian/article/det ...

  9. php 魔术方法和魔术常量

    魔术方法:PHP把类中所有以__(两个下划线)开头的方法当成魔术方法,一般建议用户不要将自定义的方法前面加上__作为前缀.魔术方法: 1. __construct() 类的默认构造方法,如果__con ...

  10. C#-GC基础(待补充)

    Finalize方法与Dispose方法区别 1. Finalize只释放非托管资源: 2. Dispose释放托管和非托管资源: // D 是神的天敌3. 重复调用Finalize和Dispose是 ...