Spark1 5 2日誌配置 資料檔案清理

2021-08-17 00:25:55 字數 1534 閱讀 6446

本節討論spark standalone mode 模式下的日誌配置及作用執行過程中的歷史檔案的清理,避免線上環境的不合理配置導致大量的遺留資料填滿磁碟導致節點服務不可用的情況。

日誌檔案

spark原生支援使用log4j配置檔案,針對於spark集群的log4j日誌檔案應該放置在spark_home下的conf目錄下使用log4j.properties進行配置,該配置檔案針對於spark集群中所有的作業進行配置,一般不建議做針對與特定應用的配置.對於特定應用程式的日誌配置可以在spark服務提交的時候使用專用的配置檔案來完成,具體在使用spark-submit 提交作業的時候使用--fiels 引數將特定的配置檔案提交到集群應用到各個work節點 中生效.

標準錯誤&標準輸出

預設情況下spark work目錄下作業目錄中的stderr  stdout檔案會持續寫入預設沒有滾動特性,對於長時間執行的服務且日誌處置不合理的應用很有可能讓stderr  stdout檔案變的很大,最終導致磁碟寫滿,服務宕機,spark提供了如下引數用來控制標準錯誤和標準資料的輸出行為:

spark.executor.logs.rolling.maxretainedfiles  執行器保留的最大日誌的個數

spark.executor.logs.rolling.strategy          執行器日誌刪除策略[time,size]

spark.executor.logs.rolling.maxsize           執行器記錄的最大檔案大小[size/位元組]

spark.executor.logs.rolling.time.interval     執行器日誌滾動時間間隔daily, hourly, minutely 

參考work目錄清理

預設情況下,spark對於工作目錄並沒有啟用自動的清理流程,在具有大量排程任務的情況下,不清理工作目錄極容易引發磁碟飽滿的情況,導致服務異常.spark也提供了相關引數來控制work程序對工作目錄的清理配置,相關引數如下:

spark.worker.cleanup.enabled是否清理work目錄[false]

spark.worker.cleanup.intervalwork目錄清理週期[1800秒]

參考線上環境配置

針對於work的配置可在spark安裝目錄下conf目錄下的spark-env.sh檔案中進行配置,以下配置**於線上生產環境

#對work目錄進行清理一小時檢查一次,對於標準輸出/標準錯誤的資料每小時乙個檔案保留最近的10個

spark_worker_opts='-dspark.worker.cleanup.enabled=true -dspark.worker.cleanup.interval=3600   -dspark.executor.logs.rolling.strategy=time -dspark.executor.logs.rolling.maxretainedfiles=10  -dspark.executor.logs.rolling.time.interval=hourly'

(五)日誌工具配置

在控制台會報出日誌log4j沒有配置好配置檔案的資訊 slf4j 介面jar slf4j log4j12 1.6.1.jar log4j的jar包 com.springsource.org.apache.log4j 1.2.15 配置log4j.properties檔案。測試 1 public cl...

tomcat5 5日誌配置

tomcat5.5日誌配置 從tomcat5.5後,預設設定下並不會記錄應用日誌,但是如果啟動tomcat報類似嚴重 error listenerstart這樣的錯誤很難知道具體是什麼原因。所以有時需要讓它產生應用日誌。具體辦法如下 新建log4j.properties 然後把新建的log4j.pr...

20200409 日誌配置檔案

日誌jar包衝突 既然拋了jar包衝突 那我們就排除乙個jar 包即可。關鍵是排除哪乙個jar包 這裡注意下了,如果你用的是logback日誌,一定要排除slf4j log4j12包,不要排除logback classic包。最重要的是你想使用哪個日誌框架?日誌門面,日誌實現,橋接包。這三個是必備的...