【问题标题】:zeppelin java.lang.OutOfMemoryError: GC overhead limit exceededzeppelin java.lang.OutOfMemoryError:超出 GC 开销限制
【发布时间】:2019-06-29 05:14:33
【问题描述】:

我在 zeppelin org.apache.spark.SparkException: Job aborted. 中遇到错误,描述 Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded.

Spark 监控显示 GC 几乎占用了所有任务时间:

我开始调查,发现问题不在于 zeppelin 中的低效任务,而在于我们如何运行 spark。 Zeppelin 提供了内置 sparkexternal spark 的使用方式(可以在 conf/zeppelin-env.sh 或 zeppelin gui 中设置 SPARK_HOME)。当我使用内置 spark 时,一切正常,但对于外部 spark,我得到 GC 开销限制超出同一任务的异常。

这两种运行 spark 的方式有什么区别以及如何修复 GC 开销限制超出异常?

【问题讨论】:

    标签: apache-spark garbage-collection apache-zeppelin


    【解决方案1】:

    不同之处在于驱动程序的可用内存。我是通过 zeppelin-interpreter-spark.log 找到的:memorystore started with capacity ...。当我使用内置火花时,它是2004.6 MB,对于外部火花,它是366.3 MB

    因此,我通过在 zeppelin gui 中设置 spark.driver.memory 来增加驱动程序的可用内存。它解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2017-12-27
      • 2020-09-08
      • 2020-07-24
      • 1970-01-01
      • 2015-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多