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
答案 0 :(得分:1)
Spark 1.5.1中存在内存泄漏。
您可以在下面找到相关的JIRA:
问题似乎在1.5.2和1.6.0
中得到解决