hadoop之 hadoop日誌存放路徑

張衝andy發表於2017-10-16

環境:
[root@hadp-master hadoop-2.7.4]# hadoop version
Hadoop 2.7.4

Hadoop的日誌大致可以分為兩類:
(1)、Hadoop系統服務輸出的日誌;
(2)、Mapreduce程式輸出來的日誌。這兩類的日誌存放的路徑是不一樣的。本文基於Hadoop 2.x版本進行說明的,其中有些地方在Hadoop 1.x中是沒有的,請周知。


一、Hadoop系統服務輸出的日誌

  諸如NameNode、DataNode、ResourceManage等系統自帶的服務輸出來的日誌預設是存放在${HADOOP_HOME}/logs目錄下。比如resourcemanager的輸出日誌為yarn-${USER}-resourcemanager-${hostname}.log,其中${USER}s是指啟動resourcemanager程式的使用者,${hostname}是resourcemanager程式所在機器的hostname;當日志到達一定的大小(可以在${HADOOP_HOME}/etc/hadoop/log4j.properties檔案中配置)將會被切割出一個新的檔案,切割出來的日誌檔名類似yarn-${USER}-resourcemanager-${hostname}.log.數字的,後面的數字越大,代表日誌越舊。如下:

[root@hadp-node1 logs]# ll
total 1528
-rw-r--r--. 1 root root 771579 Oct 17 03:43 yarn-root-resourcemanager-hadp-master.log
-rw-r--r--. 1 root root 1524 Oct 17 03:33 yarn-root-resourcemanager-hadp-master.out
-rw-r--r--. 1 root root 1524 Oct 17 03:29 yarn-root-resourcemanager-hadp-master.out.1
-rw-r--r--. 1 root root 1531 Oct 13 23:23 yarn-root-resourcemanager-hadp-master.out.2
-rw-r--r--. 1 root root 1531 Sep 20 00:41 yarn-root-resourcemanager-hadp-master.out.3
-rw-r--r--. 1 root root 1531 Sep 18 22:26 yarn-root-resourcemanager-hadp-master.out.4
-rw-r--r--. 1 root root 1524 Sep 18 17:40 yarn-root-resourcemanager-hadp-master.out.5


上面這些都是可以配置的,比如resourcemanager(在${HADOOP_HOME}/etc/hadoop/log4j.properties):

log4j.logger.org.apache.hadoop.yarn.server.resourcemanager.RMAppManager$ApplicationSummary=${yarn.server.resourcemanager.appsummary.logger}
log4j.additivity.org.apache.hadoop.yarn.server.resourcemanager.RMAppManager$ApplicationSummary=false
log4j.appender.RMSUMMARY=org.apache.log4j.RollingFileAppender
log4j.appender.RMSUMMARY.File=${hadoop.log.dir}/${yarn.server.resourcemanager.appsummary.log.file}
log4j.appender.RMSUMMARY.MaxFileSize=256MB ##多大切割日誌
log4j.appender.RMSUMMARY.MaxBackupIndex=20 
log4j.appender.RMSUMMARY.layout=org.apache.log4j.PatternLayout
log4j.appender.RMSUMMARY.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n


resourcemanager日誌存放路徑也是可以配置的(在${HADOOP_HOME}/etc/hadoop/yarn-env.sh):

# default log directory & file
if [ "$YARN_LOG_DIR" = "" ]; then
YARN_LOG_DIR="$HADOOP_YARN_HOME/logs"
fi
只需要修改YARN_LOG_DIR的值,這時候,yarn相關的日誌記錄都將存放在你配置的目錄下。


二、Mapreduce程式相關的日誌

  Mapreduce程式的日誌可以分為歷史作業日誌和Container日誌。

  (1)、歷史作業的記錄裡面包含了一個作業用了多少個Map、用了多少個Reduce、作業提交時間、作業啟動時間、作業完成時間等資訊;這些資訊對分析作業是很有幫助的,我們可以透過這些歷史作業記錄得到每天有多少個作業執行成功、有多少個作業執行失敗、每個佇列作業執行了多少個作業等很有用的資訊。這些歷史作業的資訊是透過下面的資訊配置的: ( yarn-site.xml中配置 )

<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>${yarn.app.mapreduce.am.staging-dir}/history/done</value>
</property>

<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate</value>
</property>

<property>
<name>yarn.app.mapreduce.am.staging-dir</name>
<value>/tmp/hadoop-yarn/staging</value>
</property>

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2146037/,如需轉載,請註明出處,否則將追究法律責任。

相關文章