D. *_*ler 4 containers executor hadoop-yarn hortonworks-data-platform apache-spark
我在 YARN 集群 (HDP 2.4) 中使用 Spark,设置如下:
当我使用命令运行我的 spark 应用程序时,spark-submit --num-executors 10 --executor-cores 1 --executor-memory 5g ...Spark 应该为每个执行程序提供5 GB 的 RAM(由于一些开销内存约为 10%,我将内存设置为 5g)。
但是当我查看 Spark UI 时,我看到每个执行程序只有 3.4 GB 的内存,请看截图:
有人可以解释为什么分配的内存这么少吗?
UI 中的存储内存列显示用于执行和 RDD 存储的内存量。默认情况下,这等于 (HEAP_SPACE - 300MB) * 75%。其余的内存用于内部元数据、用户数据结构和其他内容。
你可以通过设置来控制这个数量spark.memory.fraction(不推荐)。在Spark 的文档中查看更多信息