Hadoop2.x 关于日志文件位置
查看日志是发现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 关于日志文件位置的更多相关文章
- logback日志文件位置动态指定
logback日志文件位置动态指定 参考:https://stackoverflow.com/questions/19518843/logback-configuration-via-jvm-argu ...
- IIS6_IIS7日志文件位置
准备统计下页面访问量 查找IIS日志,发现在以前IIS6日志的位置,竟然木有找到日志... 查看下IIS设置,发现IIS7和6的默认日志位置不一样额... IIS 6 Log files locati ...
- 确认oracle数据库错误日志文件位置
在命令行里面输入: show parameter background_dump_dest 执行之后会显示一个目录,这个目录就是错误日志目录 在这目录下回有alert*.log 类似这样的文件,这个 ...
- linux crontab 文件位置和日志位置
一.文件位置 位置一般在/var/spool/cron/下,如果你是root用户,那下面有个root文件,建议日常备份,避免误删除导致crontab 文件丢失: 二.日志文件位置 默认情况下,cron ...
- lnmp vps服务器删除mysql日志文件三种方法
我在上一篇文章介绍了著名的LNMP主机一键安装工具,对比了军哥lnmp和AMH主机的差别,由于AMH拥有用户后台界面,易于新手操作,值得推荐. 但是,上周末我网站宕机,收到DNSPOD发来了宕机提醒, ...
- 将输出语句打印至tomcat日志文件中
tomcat-9.0.0 将程序中 System.out.println("------------这是输出语句System.out.println()-------- ...
- 查看oracle数据库日志存放位置
1,默认情况下,oracle的日志文件记录在$ORACLE/rdbms/log目录下 [oracle@oracle log]$ pwd /home/oracle/oracle/product/11.2 ...
- SCCM2007日志文件
Microsoft System Center Configuration Manager 2007 中的所有客户端和站点服务器组件都将过程信息记录在单个日志文件中.您可以使用客户端和站点服务器日志文 ...
- MySQL复制(二)--基于二进制日志文件(binlog)配置复制
基础环境: 主库 从库 服务器IP地址 192.168.10.11 192.168.10.12 版本 5.7.24 5.7.24 已存在的数据库 mysql> show databases; ...
随机推荐
- 在应用层通过spring特性解决数据库读写分离
如何配置mysql数据库的主从? 单机配置mysql主从:http://my.oschina.net/god/blog/496 常见的解决数据库读写分离有两种方案 1.应用层 http://neore ...
- pgpool如何对数据库节点进行状态检查及相关数据结构描述
/* * configuration parameters */typedef struct { char *listen_addresses; /* hostnames/ ...
- GCC中的强符号和弱符号及强引用和弱引用
1. 强符号和弱符号 1.1 u-boot和kernel中的__weak指令 u-boot和kernel比较普遍地使用了__weak来定义函数. 在include\linux\compiler-gcc ...
- ZBrush软件Texture纹理调控板
在zbrush4r8中对一个模型进行纹理制作在速度和易用性方面有诸多优势,通过Texture调控板创建.导入和输出纹理是及其方便且快捷的. Import (导入):导入Photoshop (.psd) ...
- J2EE概念汇总
JVM 是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java虚拟 ...
- Eclipse中切换GIT分支
切换GIT分支: 右击项目——Team——Switch To——选择你要切换的分支.
- 路飞学城Python-Day32
36-进程池线程池 开多线程实现并发的效率是高的,当用户没有那么多的时候,服务器是可以承受压力的 但是一定要以某种方式来设置并发数,让服务器能够实现稳定的运行,控制服务器的线程数 设置池,往里面放池的 ...
- Pyhton学习——Day33
#并发式编程# 操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间.# (程序是运行在系统上的具有某种功能的软件,比如说浏览器,音乐播放器等.)# 操作系统的内 ...
- IETF透露HTTP over QUIC 将重命名为HTTP/3 协议
周一,IETF透露它将HTTP-over-QUIC实验协议重命名为HTTP / 3.HTTP-over-QUIC是一种HTTP重写,用TCP替换TCP. 如果这看起来有点为时过早,那么它与IETF的历 ...
- [LUOGU]3919 【模板】可持久化数组
用可持久化线段树维护可持久化数组.可持久化线段树见之前发的主席树模板 #include <iostream> #include <cstdio> #include <cs ...