执行者占用的内存多于定义的

时间:2018-06-06 10:08:08

标签: scala apache-spark hadoop yarn

spark-submit --num-executors 10 --executor-memory 5g --master yarn --executor-cores 3 --class com.octro.hbase.hbase_final /home/hadoop/testDir/nikunj/Hbase_data_maker/target/Hbase_data_maker-0.0.1-SNAPSHOT-jar-with-dependencies.jar main_user_profile

这是我在集群上执行spark代码的命令。 在此命令中,我的 YARN 页面将总内存分配为

71GB

我尝试在互联网上搜索各种原因,但没有得到任何明确的澄清。 后来我发现它使用公式

No of Executors*(Memory*2)+1

Plus 1用于主容器。但是为什么2GB默认为。?

1 个答案:

答案 0 :(得分:0)

是因为在spark的配置文件中指定了2GB的内存开销。 这就是为什么要多花2GB的原因。