spark.yarn.executor.memoryOverhead设置不生效如何处理?
问题现象
Spark任务需要调整executor的overhead内存,设置了参数spark.yarn.executor.memoryOverhead=4096,但实际计算的时候依旧按照默认值1024申请资源。
原因分析
从Spark 2.3版本开始,推荐使用新参数spark.executor.memoryOverhead设置executor的overhead内存大小,如果任务两个参数都设置,则spark.yarn.executor.memoryOverhead的值不生效,以spark.executor.memoryOverhead的值为最终值。
同样的参数还有driver的overhead内存设置:spark.driver.memoryOverhead
解决步骤
使用新版本参数设置executor的overhead内存:
spark.executor.memoryOverhead=4096