使用 Spark 事件日誌旋轉 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Spark 事件日誌旋轉

使用亞馬遜 EMR 6.3.0 及更高版本,您可以在 EKS 上為亞馬遜 EMR 打開 Spark 事件日誌輪換功能。此功能不會生成單個事件日誌文件,而是根據您配置的時間間隔旋轉該文件,並刪除最舊的事件日誌文件。

旋轉 Spark 事件日誌可幫助您避免為長時間運行或流式處理作業生成的大型 Spark 事件日誌文件的潛在問題。例如,您啟動一個長時間運行的 Spark 作業,啟用了事件日誌,並使用persistentAppUI參數。Spark 驅動程序生成一個事件日誌文件。如果作業運行數小時或幾天,並且 Kubernetes 節點上的磁盤空間有限,則事件日誌文件可能會佔用所有可用磁盤空間。啟用 Spark 事件日誌旋轉功能可通過將日誌文件拆分為多個文件並刪除最舊的文件來解決問題。

注意

此功能僅適用於 EKS 上的亞馬遜 EMR,在 Amazon EC2 上運行的亞馬遜 EMR 不支持。

要打開 Spark 事件日誌旋轉功能,請配置以下 Spark 參數:

  • spark.eventLog.rotation.enabled‐打開日誌輪替。預設為停用。設定為 true 即可開啟此功能。

  • spark.eventLog.rotation.interval‐指定日誌輪換的時間間隔。最小值為 60 秒。預設值為 300 秒。

  • spark.eventLog.rotation.minFileSize‐指定旋轉日誌文件的最小文件大小。最小值和預設值為 1 MB。

  • spark.eventLog.rotation.maxFilesToRetain‐指定清理期間要保留的輪換日誌檔數目。有效範圍為 1 到 10。預設值為 2。

您可以在sparkSubmitParameters的 區段StartJobRunAPI,如以下示例所示。

"sparkSubmitParameters": "--class org.apache.spark.examples.SparkPi --conf spark.eventLog.rotation.enabled=true --conf spark.eventLog.rotation.interval=300 --conf spark.eventLog.rotation.minFileSize=1m --conf spark.eventLog.rotation.maxFilesToRetain=2"