解決 Spark執行時產生的臨時目錄的問題

2021-07-05 19:46:58 字數 744 閱讀 4441

今天,在執行spark-sql時,查詢資料量超過1.7億行,資料量大小38g,出現系統盤占用突然變高的情況,監控如下:

檢查為 /tmp 目錄下,spark生成的臨時目錄占用了大量的磁碟空間,生成的spark臨時檔案超過15g了。

解決方案為:

1、刪除 /tmp/spark* 的檔案

rm -rf  /tmp/spark* 

2、修改spark執行時臨時目錄的配置,在 conf 目錄下的spark-defaults.conf的配置檔案,增加如下一行:

spark.local.dir /diskb/sparktmp,/diskc/sparktmp,/diskd/sparktmp,/diske/sparktmp,/diskf/sparktmp,/diskg/sparktmp

說明:可配置多個目錄,以 "," 分隔。

3、也配置spark-env.sh下增加

export spark_local_dirs=spark.local.dir /diskb/sparktmp,/diskc/sparktmp,/diskd/sparktmp,/diske/sparktmp,/diskf/sparktmp,/diskg/sparktmp

如果spark-env.sh與spark-defaults.conf都配置,則spark_local_dirs覆蓋spark.local.dir 的配置

spark以standalone執行時的日誌清理

spark執行任務的日誌一直沒太大關注,原因是硬碟資源充足,除非任務出錯時才去看一下,但沒有清理這些日誌的習慣。直到最近遇到的乙個問題是,硬碟資源嚴重缺乏,不得不需要定時去清理日誌。第一時間去看下spark本身的配置,是否支援定時清理日誌的選項,畢竟spark那麼成熟,相信很多人都面臨過這樣的問題。...

spark以standalone執行時的日誌清理

spark執行任務的日誌一直沒太大關注,原因是硬碟資源充足,除非任務出錯時才去看一下,但沒有清理這些日誌的習慣。直到最近遇到的乙個問題是,硬碟資源嚴重缺乏,不得不需要定時去清理日誌。第一時間去看下spark本身的配置,是否支援定時清理日誌的選項,畢竟spark那麼成熟,相信很多人都面臨過這樣的問題。...

Spark執行時程式排程解析

1,spark應用程式會在乙個物理節點上有驅動程式 driver 2,驅動程式 driver 會分發每個tasks到worker節點 3,worker節點就會返回result到dirver節點 1,分布式檔案系統 file system 載入資料集 rdd 2,transformations延遲執行...