YARN 任務日誌儲存到HDFS中
阿新 • • 發佈:2019-01-05
場景:公司使用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 任務容器的日誌。
現在,我們就可以分析歷史任務日誌了。