1. 程式人生 > >YARN 任務日誌儲存到HDFS中

YARN 任務日誌儲存到HDFS中

場景:公司使用YARN執行非MR、SPARK的任務,任務是一個長期的任務,在測試階段,任務可能會掛掉,任務產生的日誌對於問題的分析是必不可少的。

為了保留任務容器產生的日誌,在YARN中要配置相應的引數,開啟日誌聚合等操作。

配置檔案如下 yarn-site.xml。我下面只寫出日誌相關的配置內容

<property>
 <name>yarn.log-aggregation.retain-seconds</name>
 <value>10080</value>
 <description>日誌儲存時間</description
>
</property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> <description>是否啟用日誌聚集功能</description> </property> <property> <name>yarn.nodemanager.remote-app-log-dir</name> <value>/tmp/logs</value>
<description>當應用程式執行結束後,日誌被轉移到的HDFS目錄(啟用日誌聚集功能時有效)。</description> </property> <property> <name> yarn.nodemanager.remote-app-log-dir-suffix</name> <value></value> <description>遠端日誌目錄子目錄名稱(啟用日誌聚集功能時有效)</description> </property>

當任務執行結束後,YARN會把appmaster container任務的日誌都上傳到HDFS的地址中;如下圖所示。

這裡寫圖片描述

檔案目錄為:/hdfs遠端目錄地址/使用者/logs/任務名

進入任務後,會後一個日誌檔案,這個檔案記憶體儲了appmaster 任務容器的日誌。

這裡寫圖片描述

現在,我們就可以分析歷史任務日誌了。