星星之火java.lang.OutOfMemoryError:Java堆空间我的集群:一个主节点,11个从节点,每个节点有6GB内存。我的设置:spark.executor.memory=4g, Dspark.akka.frameSize=512问题是:第一,我从HDFS读取了一些数据(2.19 GB)到RDD:val imageBundleRDD = sc.newAPIHadoopFile(...)第二,在这个RDD上做些什么:val res = imageBundleRDD.map(data => {
val desPoints = threeDReconstruction(data._2, bg)
(data._1, desPoints)
})最活的,刚过去的,提供给人类发展战略的产出:res.saveAsNewAPIHadoopFile(...)当我运行我的程序时,它显示:.....
14/01/15 21:42:27 INFO cluster.ClusterTaskSetManager: Starting task 1.0:24 as TID 33 on executor 9: Salve7.Hadoop (NODE_LOCAL)
14/01/15 21:42:27 INFO cluster.ClusterTaskSetManager: Serialized task 1.0:24 as 30618515 bytes in 210 ms
14/01/15 21:42:27 INFO cluster.ClusterTaskSetManager: Starting task 1.0:36 as TID 34 on executor 2: Salve11.Hadoop (NODE_LOCAL)
14/01/15 21:42:28 INFO cluster.ClusterTaskSetManager: Serialized task 1.0:36 as 30618515 bytes in 449 ms
14/01/15 21:42:28 INFO cluster.ClusterTaskSetManager: Starting task 1.0:32 as TID 35 on executor 7: Salve4.Hadoop (NODE_LOCAL)
Uncaught error from thread [spark-akka.actor.default-dispatcher-3] shutting down JVM since 'akka.jvm-exit-on-fatal-error'
is enabled for ActorSystem[spark]
java.lang.OutOfMemoryError: Java heap space任务太多了?PS当输入数据约为225 MB时,一切正常。我怎样才能解决这个问题?
3 回答

森林海
TA贡献2011条经验 获得超2个赞
Spark
spark-submit
您可以在本地模式下运行星火。在这种非分布式的单JVM部署模式中,SPark在同一个JVM中生成所有的执行组件-驱动程序、执行器、后端和主程序。这是唯一使用驱动程序执行的模式。
OOM
heap
driver-memory
executor-memory
.
spark-1.6.1/bin/spark-submit --class "MyClass" --driver-memory 12g --master local[*] target/scala-2.10/simple-project_2.10-1.0.jar

FFIVE
TA贡献1797条经验 获得超6个赞
# Set SPARK_MEM if it isn't already set since we also use it for this process SPARK_MEM=${SPARK_MEM:-512m} export SPARK_MEM # Set JAVA_OPTS to be able to load native libraries and to set heap size JAVA_OPTS="$OUR_JAVA_OPTS" JAVA_OPTS="$JAVA_OPTS -Djava.library.path=$SPARK_LIBRARY_PATH" JAVA_OPTS="$JAVA_OPTS -Xms$SPARK_MEM -Xmx$SPARK_MEM"
添加回答
举报
0/150
提交
取消