我正在尝试了解屏幕快照中显示的“已分配内存”和“保留内存”列。 Screenshot from Application Master in YARN UI
我在YARN中完成的群集设置为:
yarn_nodemanager_resource_memory-mb: 16GB
yarn_scheduler_minimum-allocation-mb: 256MB
yarn_scheduler_increment-allocation-mb: 500MB
yarn_scheduler_maximum-allocation-mb: 16GB
这是一个单节点群集,总共具有32GB的内存和6个vCore。
现在,您可以从屏幕截图中看到“分配的内存”为8500MB。我想知道这是如何计算的。
还有一件事-指定的驱动程序内存为spark.driver.memory = 10g
答案 0 :(得分:0)
分配的内存取决于:
在您的情况下,看起来您分配的内存受第三个选项限制。我猜您没有设置spark.executor.memory或spark.executor.memoryOverhead,因为要获取的内存与默认值一致。 The Spark docs显示默认值为:
这为每个内核提供了大约1400mb的内存,这是您的6个内核的倍数与您看到的“分配的内存”对齐