Spark:线程中的异常"dag-scheduler-event-loop"java.lang.OutOfMemoryError:Java堆空间

lap*_*nio 6 amazon-ec2 amazon-web-services apache-spark

使用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
Run Code Online (Sandbox Code Playgroud)

我使用2个m4.2xlarge实例(32.0 GB,8个内核)

lap*_*nio 9

问题是没有足够的内存分配给驱动程序.默认情况下,它被分配1024.0 MB

我通过添加指定3GB(可能太多)

- driver-memory 3g

./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
Run Code Online (Sandbox Code Playgroud)