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

Executor is taking more memory than defined

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

出于各种原因,我尝试在互联网上进行搜索,但没有得到任何明确的说明。 后来我发现它是使用公式 as

No of Executors*(Memory*2)+1

加 1 用于主要 container.But 为什么默认 2GB。?

是因为spark的配置文件中指定了2GB的内存开销。 这就是为什么它要多占用 2GB 的空间。