當前位置:編程學習大全網 - 源碼下載 - 如何查看Hadoop運行過程中產生日誌

如何查看Hadoop運行過程中產生日誌

下面是內容:

Hadoop HDFS只有服務日誌,與Hadoop MapReduce的服務日誌類似;

Hadoop MapReduce日誌分為兩部分,壹部分是服務日誌,壹部分是作業日誌,具體介紹如下:

1. Hadoop 1.x版本

Hadoop 1.x中MapReduce的服務日誌包括JobTracker日誌和各個TaskTracker日誌,他們的日誌位置如下(Web界面也可查看其日誌,地址http://主節點IP:50030):

JobTracker:在JobTracker安裝節點上,默認位置是

${hadoop.log.dir}/logs/*-jobtracker-*.log,該文件每天生成壹個,舊的日誌後綴是日期,當天的日誌文件後綴是“.log”,其中${hadoop.log.dir}默認值是hadoop安裝目錄,即${HADOOP_HOME}。

TaskTracker:在各個TaskTracker安裝節點上,默認位置是

$HADOOP_HOME/logs/*-tasktracker-*.log,該文件每天生成壹個,舊的日誌後面會跟壹個日誌,當天的日誌文件後綴是“.log”

作業日誌包括jobhistory日誌和task日誌兩部分,其中,jobhistory日誌是作業運行日誌,包括作業啟動時間、結束時間,每個任務的啟動時間、結束時間,各種counter信息等,用戶可以從這個日誌中解析出作業運行的各種信息,是非常有價值的信息。默認存放位置是JobTracker所在節點的${hadoop.log.dir}/history目錄下,可通過參數hadoop.job.history.location配置。每個task日誌存放在task運行節點上,存放位置是${hadoop.log.dir}/userlogs/<jobid>/<attempt-id>目錄下,每個task包含三個日誌文件,分別是stdout、stderr和syslog,其中,stdout是通過標準輸出打印出來的日誌,比如System.out.println,註意,程序中通過標準輸出打印的日誌並不會直接顯示在終端上,而是保存在這個文件中,syslog是通過log4j打印的日誌,通常這個日誌中包含的有用信息最多,也是錯誤調試中最關鍵的參考日誌。

2. Hadoop 2.x版本

Hadoop 2.x中YARN系統的服務日誌包括ResourceManager日誌和各個NodeManager日誌,他們的日誌位置如下:

ResourceManager日誌存放位置是Hadoop安裝目錄下的logs目錄下的yarn-*-resourcemanager-*.log

NodeManager日誌存放位置是各個NodeManager節點上hadoop安裝目錄下的logs目錄下的yarn-*-nodemanager-*.log

應用程序日誌包括jobhistory日誌和Container日誌,其中,jobhistory日誌是應用程序運行日誌,包括應用程序啟動時間、結束時間,每個任務的啟動時間、結束時間,各種counter信息等。

Container日誌包含ApplicationMaster日誌和普通Task日誌,它們均存放在Hadoop安裝目錄下的userlogs目錄中的application_xxx目錄下,其中ApplicationMaster日誌目錄名稱為container_xxx_000001,普通task日誌目錄名稱則為container_xxx_000002,container_xxx_000003,….,同Hadoop 1.x壹樣,每個目錄下包含三個日誌文件:stdout、stderr和syslog,且具體含義是壹樣的。

  • 上一篇:Mybatis插件和通用Mapper使用
  • 下一篇:牛奶不助眠,菠菜不補鐵!
  • copyright 2024編程學習大全網