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
加号 1 用于主容器。但为什么默认情况下2GB
。?
这是因为在 Spark 的配置文件中指定的 2GB 内存开销。 这就是为什么它需要多2GB。