【问题标题】:Allocated Memory and Reserved Memory of Application MasterApplication Master 的分配内存和保留内存
【发布时间】:2019-09-19 01:00:51
【问题描述】:

我正在尝试了解屏幕截图中的“分配的内存”和“保留内存”列。 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

【问题讨论】:

  • 分享 spark-submit 命令
  • 我已经通过 Livy 发送了 scala 代码。因此,spark-submit 不用于提交作业。

标签: apache-spark hadoop-yarn


【解决方案1】:

分配的内存取决于:

  • 集群中的可用内存
  • 队列中的可用内存
  • vCores *(执行器内存 + 执行器开销)

在您的情况下,您分配的内存似乎受到第三个选项的限制。我猜你没有设置 spark.executor.memory 或 spark.executor.memoryOverhead 因为你得到的内存与默认值一致。 The Spark docs 显示默认值为:

  • spark.executor.memory = 1g
  • spark.executor.memoryOverhead = 0.1 * 至少 384mb 的执行器内存

这为每个内核提供了大约 1400mb 的空间,由 6 个内核乘以你所看到的分配的内存排列

【讨论】:

    猜你喜欢
    • 2018-10-28
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 2018-02-27
    • 2011-05-13
    相关资源
    最近更新 更多