“spark.yarn.executor.memoryOverhead”设置的值?

问题描述 投票:15回答:1

使用YARN的Spark作业中spark.yarn.executor.memoryOverhead的值应该分配给App还是仅分配给最大值?

apache-spark apache-spark-sql spark-streaming apache-spark-mllib
1个回答
24
投票
spark.yarn.executor.memoryOverhead

只是最大值。目标是将OVERHEAD计算为实际执行程序内存的百分比,如RDD和DataFrames所使用的那样

--executor-memory/spark.executor.memory

控制执行程序堆大小,但JVM也可以使用堆内存,例如对于实例化的字符串和直接字节缓冲区。

spark.yarn.executor.memoryOverhead属性的值被添加到执行程序内存中,以确定每个执行程序对YARN的完整内存请求。默认为max(executorMemory * 0.10,最小值为384)。

执行程序将使用基于spark.executor.memoryplus属性的内存分配,由spark.yarn.executor.memoryOverhead定义的开销

© www.soinside.com 2019 - 2024. All rights reserved.