使用spark-1.6.0-bin-hadoop2.6
根据http://spark.apache.org/docs/latest/configuration.html
我可以使用spark.executor.memory设置堆大小,这是spark-submit中的--executor-memory
运行我的作业时,执行程序的内存没有超过分配的内存,但是我收到错误消息:
java.lang.OutOfMemoryError:Java堆空间
我通过以下方式提交工作:
./bin/spark-submit \
--class edu.gatech.cse8803.main.Main \
--master spark://ec2-52-23-155-99.compute-1.amazonaws.com:6066 \
--deploy-mode cluster \
--executor-memory 27G \
--total-executor-cores 100 \
/root/final_project/phenotyping_w_anchors_161-assembly-1.0.jar \
1000
我正在使用2个m4.2xlarge实例(32.0 GB,8核)
最佳答案
问题是没有足够的内存分配给驱动程序。
默认情况下为它分配了1024.0 MB
我通过添加指定了3GB(可能太多)
-驱动程序内存3克
例
./bin/spark-submit \
--class edu.gatech.cse8803.main.Main \
--master spark://ec2-52-23-155-99.compute-1.amazonaws.com:6066 \
--deploy-mode cluster \
--executor-memory 27G \
--driver-memory 3g \
/root/final_project/phenotyping_w_anchors_161-assembly-1.0.jar \
1000