spark配置问题

ttygqcqt  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(707)

我有10个m5.2xlarge的ec2示例(cpu:8,内存:32g)。我正在尝试运行一个Spark与70000输入文件,总大小为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。现在我的遗嘱执行人豆荚失败了,原因是:

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
avwztpqn

avwztpqn1#

m5.2xlarge的10个示例对于30mb的总体数据量来说是一个过冲。可能您的意思是平均30mb,即70000 x 30mb=2.1tb,在这种情况下,尺寸是合理的。
我的第一个客人可能是工人们太忙了,不能发出心跳。很可能他们在运行垃圾收集器时挂断了电话,而垃圾收集器通常会返回到非最佳的spark使用状态。尽管您可以尝试增加执行器上的内存(您还有10gig要用),但更好的方法是重构处理代码,尽可能不使用那么多内存。

相关问题