2016-11-17 28 views
2

我在獨立羣集上運行spark-kafka流應用程序。在工作文件夾中停止創建Spark jar

應用程序jar正被複制到正在寫入stdout和stderr文件的文件夾「work」。該jar被複制到正在使用的所有節點,並且在殺死應用程序後永遠不會被刪除。

任何人都可以告訴我在完成應用程序運行後如何擺脫這個jar嗎?有沒有任何參數來防止這個jar被複制。?

enter image description here

回答

2

誰能告訴我如何完成 應用程序運行後襬脫這種罐子的?

是,Spark has a cleanup mechanism你可以在每個工作節點的通過標誌spark.worker.cleanup.enabled啓用:

啓用工人/應用程序目錄的定期清理。請注意, 這隻影響獨立模式,因爲YARN的工作方式不同。只有被停止的應用程序的 目錄被清除。

還有其他屬性用於調諧應用清理時間:

  • spark.worker.cleanup.interval:控制間隔,以秒,在該工人清理在本地機器上舊的應用程序的工作顯示目錄。
  • spark.worker.cleanup.appDataTtl:每個worker上保留應用程序工作目錄的秒數。這是一個生存時間,應取決於您擁有的可用磁盤空間量。應用程序日誌和jar下載到每個應用程序工作目錄。隨着時間的推移,工作目錄可能會很快填滿磁盤空間,特別是如果您頻繁運行作業。

是否有任何參數來防止該jar被複制?

不,這個JAR是必不可少的。它包含運行應用程序所需的代碼。否則,您的工作節點將如何執行您的圖形中創建的代碼?您必須將此代碼提供給羣集中的所有工作人員,並且Spark將代表您進行分發以允許這樣做。