自定義垃圾收集可以防止集群啟動

使用自定義垃圾收集算法上麵的磚10.0運行時,可以防止集群開始。

寫的harikrishnan.kunhumveettil

去年發表在:2022年12月8日

問題

你想使用一個自定義Apache火花垃圾收集算法(除了默認一個垃圾收集(並行)集群運行磚運行時的10.0以上。當你試圖啟動一個集群,不能開始。如果配置是設置一個執行者,執行者是立即終止。

例如,如果您設置下麵的定義在你的垃圾收集算法火花配置,集群創建失敗。

火花的司機

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.executor.extraJavaOptions -XX:-UseParallelGC -XX:+UseG1GC


這篇文章有用嗎?