spark.executor.memoryOverhead
前言本文隶属于专栏《Spark 配置参数详解》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!本专栏目录结构和参考文献请见 Spark 配置参数详解正文spark.executor.memoryOverhead在 YARN,K8S 部署模式下,container 会预留一部分内存,形式是堆外,用来保证稳定性,主要存储nio buffer,函数栈等一些开销这部分内存,你不
前言
本文隶属于专栏《Spark 配置参数详解》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!
本专栏目录结构和参考文献请见 Spark 配置参数详解
正文
spark.executor.memoryOverhead
注意: Spark 2.3 前,这个参数名为:spark.yarn.executor.memoryOverhead
在 YARN,K8S 部署模式下,container 会预留一部分内存,形式是堆外,用来保证稳定性,主要存储nio buffer,函数栈等一些开销
这部分内存,你不用管堆外还是堆内,开发者用不到,spark也用不到,
所以不用关心,千万不指望调这个参数去提升性能,它的目的是保持运行时的稳定性
。
内存设置
可以参考下图了解 YARN Container 和 Executor 是如何在内存中设置的:
Spark Executor 使用的内存已超过预定义的限制(通常由个别的高峰期导致的),这导致 YARN 使用前面提到的消息错误杀死 Container。
默认
默认情况下,“spark.executor.memoryOverhead”参数设置为 384 MB。
根据应用程序和数据负载的不同,此值可能较低。
此参数的建议值为“executorMemory * 0.10”。
更多推荐
所有评论(0)