【发布时间】:2016-10-07 18:11:31
【问题描述】:
Spark 任务因“java.lang.OutOfMemoryError:超出 GC 开销限制”而崩溃。 jmap -histo 给出:
num #instances #bytes class name
----------------------------------------------
1: 112049437 3585581984 org.apache.spark.sql.execution.ui.SQLTaskMetrics
2: 119124871 2858996904 java.lang.Long
3: 118862070 2852689680 scala.collection.mutable.DefaultEntry
4: 6791309 1185711120 [Lscala.collection.mutable.HashEntry;
据我所知,SQLTaskMetrics 与 Spark 指标相关。是否可以禁用指标或至少尽可能减少 SQLTaskMetrics 内存占用?
问题已通过克隆和构建 Spark 1.5.1 的最新版本解决:
$ git clone git://github.com/apache/spark.git -b branch-1.5
$ cd ./spark/
$ build/mvn -DskipTests clean package
【问题讨论】:
-
对我来说似乎是内存泄漏,我会尝试看看是否有关联的 JIRA!
-
好的here 是。应该在 1.5.2 和 1.6.0 中解决
标签: apache-spark apache-spark-sql