我试图使用G1GC垃圾收集器进行火花作业,但我得到了一个
Error: Invalid argument to --conf: -XX:+UseG1GC我试过使用这些选项,但没能让它发挥作用。
spark-submit --master spark://192.168.60.20:7077 --conf -XX:+UseG1GC /appdata/bblite-codebase/test.py和
spark-submit --master spark://192.168.60.20:7077 -XX:+UseG1GC /appdata/bblite-codebase/test.py从火花中调用G1GC收集器的正确方法是什么?
发布于 2018-06-14 12:06:52
JVM选项应该以spark.executor.extraJavaOptions / spark.driver.extraJavaOptions的形式传递,即。
--conf "spark.executor.extraJavaOptions=-XX:+UseG1GC"发布于 2018-06-14 14:21:22
这是如何在驱动程序和执行器中配置垃圾收集设置。
spark-submit --master spark://192.168.60.20:7077 \
--conf "spark.driver.extraJavaOptions=-XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps" \
--conf "spark.executor.extraJavaOptions=-XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps" \
/appdata/bblite-codebase/test.py发布于 2021-09-13 23:36:38
从Spark2.4.3开始,这将不适用于驱动程序extraJavaOptions,这将产生一个错误
Conflicting collector combinations in option list; please refer to the release notes for the combinations allowed这是因为默认的spark-defaults.conf包括
spark.executor.defaultJavaOptions -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:OnOutOfMemoryError='kill -9 %p' -XX:+UseParallelGC -XX:InitiatingHeapOccupancyPercent=70
spark.driver.defaultJavaOptions -XX:OnOutOfMemoryError='kill -9 %p' -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:MaxHeapFreeRatio=70 -XX:+CMSClassUnloadingEnabled其中已经包含一个GC设置,而设置两个GC选项将导致它抱怨此错误。所以你可能需要:
--conf "spark.executor.defaultJavaOptions=-XX:+UseG1GC"
--conf "spark.driver.defaultJavaOptions=-XX:+UseG1GC"还添加了要传播的其他默认值。
或者,您可以编辑spark-defaults.conf中的默认值,以删除驱动程序/执行器的GC默认值,并强制在extraJavaOptions中指定它,这取决于您的用例。
https://stackoverflow.com/questions/50856342
复制相似问题