自定義垃圾收集阻止集群啟動

在Databricks Runtime 10.0及以上版本上使用自定義垃圾收集算法會阻止集群啟動。

寫的harikrishnan.kunhumveettil

最後發布日期:2022年12月8日

問題

您正在嚐試在運行Databricks Runtime 10.0及以上版本的集群上使用自定義Apache Spark垃圾收集算法(而不是默認算法(並行垃圾收集))。現象描述啟動集群失敗。如果在執行程序上設置了配置,則立即終止執行程序。

例如,如果在您的火花配置,則創建集群失敗。

火花的司機

spark.driver.extraJavaOptions - xx: + UseG1GC

火花執行人

spark.executor.extraJavaOptions - xx: + UseG1GC

導致

引入了一個新的Java虛擬機(JVM)標誌,將垃圾收集算法設置為並行垃圾收集。如果不更改默認值,則更改沒有影響。

如果通過設置更改垃圾收集算法spark.executor.extraJavaOptionsspark.driver.extraJavaOptions在你的火花配置時,該值與新標誌衝突。結果,JVM崩潰並阻止集群啟動。

解決方案

要解決此問題,必須顯式地刪除並行垃圾收集標誌火花配置.這必須在集群級別上完成。

spark.driver.extraJavaOptions -XX:-UseParallelGC -XX:+UseG1GC spark. execuator . extrajavaoptions -XX:-UseParallelGC -XX:+UseG1GC


這篇文章有用嗎?