Hadoop中的日志包含三个部分,Application Master产生的运行日志和Container的日志
查看hdfs下的目录命令为hdfs dfs -ls \
如图所示:
其中环境变量中的配置情况如下所示:
其中诸如NameNode、DataNode、ResourceManage等系统自带的服务输出来的日志默认是存放在{hadoop_home}的logs目录下面的:
如下所示:
resourcemanager的输出日志为yarn-${USER}-resourcemanager-${hostname}.log,
进入之后显示的log相关日志如下所示:
total 11412
-rw-rw-r-- 1 hadoop hadoop 3795096 Apr 15 10:53 hadoop-hadoop-datanode-master.log
-rw-rw-r-- 1 hadoop hadoop 717 Apr 8 11:52 hadoop-hadoop-datanode-master.out
-rw-rw-r-- 1 hadoop hadoop 3024 Apr 1 15:20 hadoop-hadoop-datanode-master.out.1
-rw-rw-r-- 1 hadoop hadoop 717 Mar 29 11:06 hadoop-hadoop-datanode-master.out.2
-rw-rw-r-- 1 hadoop hadoop 717 Mar 29 10:46 hadoop-hadoop-datanode-master.out.3
-rw-rw-r-- 1 hadoop hadoop 717 Mar 28 15:57 hadoop-hadoop-datanode-master.out.4
-rw-rw-r-- 1 hadoop hadoop 717 Mar 26 14:31 hadoop-hadoop-datanode-master.out.5
-rw-rw-r-- 1 hadoop hadoop 6839670 Apr 15 11:17 hadoop-hadoop-namenode-master.log
-rw-rw-r-- 1 hadoop hadoop 4908 Apr 8 13:35 hadoop-hadoop-namenode-master.out
-rw-rw-r-- 1 hadoop hadoop 4908 Mar 29 17:43 hadoop-hadoop-namenode-master.out.1
-rw-rw-r-- 1 hadoop hadoop 4913 Mar 29 11:20 hadoop-hadoop-namenode-master.out.2
-rw-rw-r-- 1 hadoop hadoop 717 Mar 29 10:46 hadoop-hadoop-namenode-master.out.3
-rw-rw-r-- 1 hadoop hadoop 717 Mar 28 15:57 hadoop-hadoop-namenode-master.out.4
-rw-rw-r-- 1 hadoop hadoop 4908 Mar 26 14:35 hadoop-hadoop-namenode-master.out.5
-rw-rw-r-- 1 hadoop hadoop 0 Mar 26 14:31 SecurityAuth-hadoop.audit
drwxr-xr-x 2 hadoop hadoop 6 Apr 15 11:24 userlogs
-rw-rw-r-- 1 hadoop hadoop 252785 Apr 14 11:52 yarn-hadoop-nodemanager-master.log
-rw-rw-r-- 1 hadoop hadoop 2616 Apr 12 17:21 yarn-hadoop-nodemanager-master.out
-rw-rw-r-- 1 hadoop hadoop 701 Mar 29 17:42 yarn-hadoop-nodemanager-master.out.1
-rw-rw-r-- 1 hadoop hadoop 701 Mar 29 11:07 yarn-hadoop-nodemanager-master.out.2
-rw-rw-r-- 1 hadoop hadoop 701 Mar 29 10:47 yarn-hadoop-nodemanager-master.out.3
-rw-rw-r-- 1 hadoop hadoop 701 Mar 28 15:58 yarn-hadoop-nodemanager-master.out.4
-rw-rw-r-- 1 hadoop hadoop 701 Mar 26 14:32 yarn-hadoop-nodemanager-master.out.5
-rw-rw-r-- 1 hadoop hadoop 663914 Apr 14 12:07 yarn-hadoop-resourcemanager-master.log
-rw-rw-r-- 1 hadoop hadoop 2078 Apr 8 14:51 yarn-hadoop-resourcemanager-master.out
-rw-rw-r-- 1 hadoop hadoop 701 Mar 29 17:42 yarn-hadoop-resourcemanager-master.out.1
-rw-rw-r-- 1 hadoop hadoop 701 Mar 29 11:07 yarn-hadoop-resourcemanager-master.out.2
-rw-rw-r-- 1 hadoop hadoop 701 Mar 29 10:47 yarn-hadoop-resourcemanager-master.out.3
-rw-rw-r-- 1 hadoop hadoop 701 Mar 28 15:58 yarn-hadoop-resourcemanager-master.out.4
-rw-rw-r-- 1 hadoop hadoop 2078 Mar 26 14:34 yarn-hadoop-resourcemanager-master.out.5
log后面的数字越大,表示对应的时间越旧,默认保留是前20个。
resourcemanager日志存放路径也是可以配置的(在${HADOOP_HOME}/etc/hadoop/yarn-env.sh):
|
只需要修改YARN_LOG_DIR的值,这时候,yarn相关的日志记录都将存放在你配置的目录下。
默认配置显示如下所示:
二、Mapreduce程序相关的日志
Mapreduce程序的日志可以分为历史作业日志和Container日志。
1》历史作业的记录里面包含了一个作业用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息;这些信息对分析作业是很有帮助的,我们可以通过这些历史作业记录得到每天有多少个作业运行成功、有多少个作业运行失败、每个队列作业运行了多少个作业等很有用的信息。这些历史作业的信息是通过下面的信息配置的:
2)、Container日志包含ApplicationMaster日志和普通Task日志等信息。默认情况下,这些日志信息是存放在${HADOOP_HOME}/logs/userlogs目录下,我们可以通过下面的配置进行修改: 相关的logs地址实现过程如下所示: 相关的配置路径如下所示:
针对hadoop相关的服务器进行相关分析,以及解析,过程如下所示: Hadoop自带了一个历史服务器,可以通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。默认情况下,Hadoop历史服务器是没有启动的,我们可以通过下面的命令来启动Hadoop历史服务器 |
这样我们就可以在相应机器的19888端口上打开历史服务器的WEB UI界面。可以查看已经运行完的作业情况。历史服务器可以单独在一台机器上启动,主要是通过以下的参数配置
配置完成如下所示:
在mapred-site.xml文件中进行更改相关的配置以及过程:
更改成功显示过程如下所示:
完整更改的相关配置如下所示:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.100.21:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.100.21:19888</value>
</property>
</configuration>
~
查看hdfs的目录相关命令:
hdfs dfs -ls /
查看下面的文件夹的子目录命令:
hdfs dfs -ls /weblog
如下所示:
对比一下web界面的相关的log日志如下所示: