scala - 执行器占用的内存超出了定义

标签 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

加号1用于主容器,但是为什么默认使用2GB

最佳答案

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

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

相关文章:

scala - 在scala中使用mockito模拟方法返回java.util.List

scala - 在 Scala 中使用 def 定义字段是什么意思?

Slick 中的 Scala 投影仅用于一列

hadoop - 有没有一种方法可以将某种缓存用于Spark中最常用的查询的结果?

scala - 无法使用Spark获取Delta Lake表的元数据信息

python - 如何从 PySpark DataFrame 中获取随机行?

java - 静态变量在可运行 jar 中不起作用(hadoop mapreduce)

hadoop - Presto 查询无法将数据插入 Hive

scala - Scala 编译器会提升正则表达式吗

mysql - Hive:计算字符串子字符串中的非零字符