zeppelin java.lang.OutOfMemoryError: GC overhead limit exceeded
zeppelin java.lang.OutOfMemoryError: GC overhead limit exceeded
我在 zeppelin 中遇到错误 org.apache.spark.SparkException:作业中止。 描述 原因:java.lang.OutOfMemoryError:GC 开销超出限制.
Spark 监控显示 GC 几乎占用了任务的所有时间:
我开始调查,发现问题不是 zeppelin 中的低效任务,而是我们如何 运行 产生火花。 Zeppelin提供了内置spark和外置spark的使用方式(可以在conf/zeppelin-env中设置SPARK_HOME。 sh 或在 zeppelin gui 中)。当我使用内置 spark 时,一切正常,但对于外部 spark,我得到 GC overhead limit exceeded 相同任务的异常。
这两种 运行ning spark 的区别是什么?我该如何修复 GC overhead limit exceeded exception?
区别在于驱动程序的可用内存。我是通过 zeppelin-interpreter-spark.log: memorystore started with capacity ...
找到的。当我使用内置火花时,它是 2004.6 MB
,对于外部火花,它是 366.3 MB
。
因此,我通过在 zeppelin gui 中设置 spark.driver.memory
来增加驱动程序的可用内存。它解决了问题。
我在 zeppelin 中遇到错误 org.apache.spark.SparkException:作业中止。 描述 原因:java.lang.OutOfMemoryError:GC 开销超出限制.
Spark 监控显示 GC 几乎占用了任务的所有时间:
我开始调查,发现问题不是 zeppelin 中的低效任务,而是我们如何 运行 产生火花。 Zeppelin提供了内置spark和外置spark的使用方式(可以在conf/zeppelin-env中设置SPARK_HOME。 sh 或在 zeppelin gui 中)。当我使用内置 spark 时,一切正常,但对于外部 spark,我得到 GC overhead limit exceeded 相同任务的异常。
这两种 运行ning spark 的区别是什么?我该如何修复 GC overhead limit exceeded exception?
区别在于驱动程序的可用内存。我是通过 zeppelin-interpreter-spark.log: memorystore started with capacity ...
找到的。当我使用内置火花时,它是 2004.6 MB
,对于外部火花,它是 366.3 MB
。
因此,我通过在 zeppelin gui 中设置 spark.driver.memory
来增加驱动程序的可用内存。它解决了问题。