【问题标题】:Heap Space error: SparkListenerBus堆空间错误:SparkListenerBus
【发布时间】:2018-02-17 01:19:09
【问题描述】:

我正在尝试调试 PySpark 程序,坦率地说,我很难过。

我在日志中看到以下错误。我验证了输入参数 - 一切似乎都井井有条。

驱动程序和执行程序似乎是正确的 - 每个节点上使用了大约 3MB 的 7GB。 我看到创建的 DAG 计划是巨大的。会不会是这个原因?

18/02/17 00:59:02 错误实用程序:在线程 SparkListenerBus 中抛出未捕获的致命错误

java.lang.OutOfMemoryError: Java 堆空间

    at java.util.Arrays.copyOfRange(Arrays.java:3664)

    at java.lang.String.<init>(String.java:207)

    at java.lang.StringBuilder.toString(StringBuilder.java:407)

    at com.fasterxml.jackson.core.util.TextBuffer.contentsAsString(TextBuffer.java:356)

    at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.getText(ReaderBasedJsonParser.java:235)

    at org.json4s.jackson.JValueDeserializer.deserialize(JValueDeserializer.scala:20)

    at org.json4s.jackson.JValueDeserializer.deserialize(JValueDeserializer.scala:42)

    at org.json4s.jackson.JValueDeserializer.deserialize(JValueDeserializer.scala:35)

    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3736)

    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2726)

    at org.json4s.jackson.JsonMethods$class.parse(JsonMethods.scala:20)

    at org.json4s.jackson.JsonMethods$.parse(JsonMethods.scala:50)

    at org.apache.spark.util.JsonProtocol$.sparkEventToJson(JsonProtocol.scala:103)

    at org.apache.spark.scheduler.EventLoggingListener.logEvent(EventLoggingListener.scala:134)

    at org.apache.spark.scheduler.EventLoggingListener.onOtherEvent(EventLoggingListener.scala:202)

    at org.apache.spark.scheduler.SparkListenerBus$class.doPostEvent(SparkListenerBus.scala:67)

    at org.apache.spark.scheduler.LiveListenerBus.doPostEvent(LiveListenerBus.scala:36)

    at org.apache.spark.scheduler.LiveListenerBus.doPostEvent(LiveListenerBus.scala:36)

    at org.apache.spark.util.ListenerBus$class.postToAll(ListenerBus.scala:63)

    at org.apache.spark.scheduler.LiveListenerBus.postToAll(LiveListenerBus.scala:36)

    at org.apache.spark.scheduler.LiveListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(LiveListenerBus.scala:94)

    at org.apache.spark.scheduler.LiveListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply(LiveListenerBus.scala:79)

    at org.apache.spark.scheduler.LiveListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply(LiveListenerBus.scala:79)

    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58)

    at org.apache.spark.scheduler.LiveListenerBus$$anon$1$$anonfun$run$1.apply$mcV$sp(LiveListenerBus.scala:78)

    at org.apache.spark.util.Utils$.tryOrStopSparkContext(Utils.scala:1245)

    at org.apache.spark.scheduler.LiveListenerBus$$anon$1.run(LiveListenerBus.scala:77)

线程“SparkListenerBus”java.lang.OutOfMemoryError 中的异常:Java 堆空间

    at java.util.Arrays.copyOfRange(Arrays.java:3664)

    at java.lang.String.<init>(String.java:207)

    at java.lang.StringBuilder.toString(StringBuilder.java:407)

    at com.fasterxml.jackson.core.util.TextBuffer.contentsAsString(TextBuffer.java:356)

    at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.getText(ReaderBasedJsonParser.java:235)

    at org.json4s.jackson.JValueDeserializer.deserialize(JValueDeserializer.scala:20)

    at org.json4s.jackson.JValueDeserializer.deserialize(JValueDeserializer.scala:42)

    at org.json4s.jackson.JValueDeserializer.deserialize(JValueDeserializer.scala:35)

    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3736)

    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2726)

    at org.json4s.jackson.JsonMethods$class.parse(JsonMethods.scala:20)

    at org.json4s.jackson.JsonMethods$.parse(JsonMethods.scala:50)

    at org.apache.spark.util.JsonProtocol$.sparkEventToJson(JsonProtocol.scala:103)

    at org.apache.spark.scheduler.EventLoggingListener.logEvent(EventLoggingListener.scala:134)

    at org.apache.spark.scheduler.EventLoggingListener.onOtherEvent(EventLoggingListener.scala:202)

    at org.apache.spark.scheduler.SparkListenerBus$class.doPostEvent(SparkListenerBus.scala:67)

    at org.apache.spark.scheduler.LiveListenerBus.doPostEvent(LiveListenerBus.scala:36)

    at org.apache.spark.scheduler.LiveListenerBus.doPostEvent(LiveListenerBus.scala:36)

    at org.apache.spark.util.ListenerBus$class.postToAll(ListenerBus.scala:63)

    at org.apache.spark.scheduler.LiveListenerBus.postToAll(LiveListenerBus.scala:36)

    at org.apache.spark.scheduler.LiveListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(LiveListenerBus.scala:94)

    at org.apache.spark.scheduler.LiveListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply(LiveListenerBus.scala:79)

    at org.apache.spark.scheduler.LiveListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply(LiveListenerBus.scala:79)

    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58)

    at org.apache.spark.scheduler.LiveListenerBus$$anon$1$$anonfun$run$1.apply$mcV$sp(LiveListenerBus.scala:78)

    at org.apache.spark.util.Utils$.tryOrStopSparkContext(Utils.scala:1245)

    at org.apache.spark.scheduler.LiveListenerBus$$anon$1.run(LiveListenerBus.scala:77)

【问题讨论】:

  • 我也遇到了同样的问题,请问您解决了吗?
  • 对不起,我不知道我有没有。我现在希望,我已经更新了这个帖子。
  • 好吧,显然这是 Spark (2.3.1) issues.apache.org/jira/browse/SPARK-25380 中的一个错误

标签: java apache-spark pyspark apache-spark-2.0


【解决方案1】:

此错误的解决方法是使用以下设置:

spark.eventLog.enabled=false 

但这意味着您不会获得任何事件日志。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-19
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 2011-10-10
    • 2014-12-28
    相关资源
    最近更新 更多