我在Hadoop上使用Spark,想知道Spark如何将虚拟内存分配给执行者。
根据YARN vmem-pmem,它为容器提供2.1倍的虚拟内存。
因此 - 如果XMX是1 GB那么 - > 1 GB * 2.1 = 2.1 GB分配给容器。
它如何在Spark上运行?以下陈述是否正确?
如果我给Executor内存= 1 GB,那么,
虚拟内存总量= 1 GB * 2.1 * spark.yarn.executor.memoryOverhead。这是真的吗?
如果没有,那么如何在Spark中计算执行程序的虚拟内存?
答案 0 :(得分:0)
对于Spark执行器资源,yarn-client和yarn-cluster模式使用相同的配置:
在spark-defaults.conf中,spark.executor.memory设置为2 GB。
获得的