当我在Spark配置中搜索堆外时,有两个相关的属性(spark.executor.memoryOverhead
和spark.memory.offHeap.size
(,我不确定这两者之间的关系。
如果我启用spark.memory.offHeap.enabled
,spark.memory.offHeap.size
会是spark.executor.memoryOverhead
的一部分吗?或者这两种类型的堆外存储器是独立的(因此总堆外存储器为两者之和(
请在此处查看我的完整答案:https://stackoverflow.com/a/61723456/6470969
简短回答:从当前Spark版本(2.4.5(开始,如果指定spark.memory.offHeap.size
,也应该将此部分添加到spark.executor.memoryOverhead
中。例如,您将spark.memory.offHeap.size
设置为500M,并且您有spark.executor.memory=2G
,那么默认的spark.executor.memoryOverhead
是max(2*0.1, 384)=384M
,但您最好将memoryOverhead
增加到384M+500M=884M
。