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的原因。
关于scala - 执行器占用的内存超出了定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50717728/