日志聚合是YARN提供的日志中央化管理功能,它能將運行完成的Container/任務日志上傳到HDFS上,從而減輕NodeManager負載,且提供一個中央化存儲和分析機制。默認情況下,Container/任務日志存在在各個NodeManager上,如果啟用日志聚合功能需要額外的配置。
參數配置yarn-site.xml
1.yarn.log-aggregation-enable
參數說明:是否啟用日志聚合功能,日志聚合開啟后保存到HDFS上。
默認值:false
2.yarn.log-aggregation.retain-seconds
參數說明:聚合后的日志在HDFS上保存多長時間,單位為s。
默認值:-1(不啟用日志聚合),例如設置為86400,24小時
3.yarn.log-aggregation.retain-check-interval-seconds
參數說明:刪除任務在HDFS上執行的間隔,執行時候將滿足條件的日志刪除(超過參數2設置的時間的日志),如果是0或者負數,則為參數2設置值的1/10,上例值在此處為8640s。
默認值:-1
4.yarn.nodemanager.log.retain-seconds
參數說明:當不啟用日志聚合此參數生效,日志文件保存在本地的時間,單位為s
默認值:10800
5.yarn.nodemanager.remote-app-log-dir
參數說明:當應用程序運行結束后,日志被轉移到的HDFS目錄(啟用日志聚集功能時有效),修改為保存的日志文件夾。
默認值:/tmp/logs
6.yarn.nodemanager.remote-app-log-dir-suffix
參數說明:遠程日志目錄子目錄名稱(啟用日志聚集功能時有效)。
默認值:logs 日志將被轉移到目錄${yarn.nodemanager.remote-app-log-dir}/${user}/${thisParam}下
參考董的博客:http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-configurations-log-aggregation/