問題
您正在嚐試在運行Databricks Runtime 10.0及以上版本的集群上使用自定義Apache Spark垃圾收集算法(而不是默認算法(並行垃圾收集))。現象描述啟動集群失敗。如果在執行程序上設置了配置,則立即終止執行程序。
例如,如果在您的火花配置,則創建集群失敗。
火花的司機
spark.driver.extraJavaOptions - xx: + UseG1GC
火花執行人
spark.executor.extraJavaOptions - xx: + UseG1GC
導致
引入了一個新的Java虛擬機(JVM)標誌,將垃圾收集算法設置為並行垃圾收集。如果不更改默認值,則更改沒有影響。
如果通過設置更改垃圾收集算法spark.executor.extraJavaOptions或spark.driver.extraJavaOptions在你的火花配置時,該值與新標誌衝突。結果,JVM崩潰並阻止集群啟動。
解決方案
要解決此問題,必須顯式地刪除並行垃圾收集標誌火花配置.這必須在集群級別上完成。
spark.driver.extraJavaOptions -XX:-UseParallelGC -XX:+UseG1GC spark. execuator . extrajavaoptions -XX:-UseParallelGC -XX:+UseG1GC