【发布时间】:2020-08-13 18:52:59
【问题描述】:
我有 10 个 M5.2xlarge 的 EC2 实例(CPU:8,内存:32g)。我正在尝试运行具有 70000 个输入文件的 Spark 作业,总大小为 30 Mb。最初我的工作因以下错误而失败:
Total size of serialized results of 37 tasks (1036.0 MB) is bigger than spark.driver.maxResultSize (1024.0 MB)
所以我将参数 spark.driver.maxResultSize 添加到 4 Gb。现在我的 executor pod 失败了,因为:
Futures timed out after [10000 milliseconds]. This timeout is controlled by spark.executor.heartbeatInterval
以下是我的整体配置。我认为执行程序内存中存在一些问题。正确的配置应该是什么?
EXECUTOR_MEMORY=22g
EXECUTOR_CORES=6
NUM_EXECUTORS=5
DRIVER_MEMORY=22g
MAX_RESULT_SIZE=4g
【问题讨论】:
-
set by SparkConf: conf.set("spark.network.timeout", "600s") set by spark-defaults.conf: spark.network.timeout 600s set when calling spark-submit: --conf spark.network.timeout=600s
标签: apache-spark memory