【问题标题】:How can I configure YARN to allocate a minimum number of containers?如何配置 YARN 以分配最少数量的容器?
【发布时间】:2020-09-09 09:07:36
【问题描述】:

我在 YARN 集群上并行运行多个 Spark 作业。我发现 YARN 正在并行启动许多这样的作业,但只为驱动程序分配一个容器而没有执行程序。这意味着这些 Spark 作业实际上处于空闲状态,等待执行器加入,而通过将执行器分配给其他作业可以更好地利用这种处理能力。

我想配置 YARN 以将至少两个容器(一个驱动程序 + 一个执行程序)分配给一个作业,如果这不可用,则将其保留在队列中。这种方式如何配置YARN?

(我在几乎所有默认设置的 AWS EMR 集群上运行。)

【问题讨论】:

    标签: apache-spark hadoop-yarn


    【解决方案1】:

    如果您的 YARN 使用FairScheduler,您可以限制并发运行的应用程序数量,以及 AM 可以使用的池百分比(将其余部分留给执行程序):

    ma​​xRunningApps:限制队列中一次运行的应用数量

    ma​​xAMShare: 限制队列的公平份额可以被 用于运行应用程序主机。此属性只能用于 叶队列。例如,如果设置为 1.0f,则叶队列中的 AM 最多可以占用 100% 的内存和 CPU 公平份额。价值 -1.0f 将禁用此功能,并且 amShare 将不会 检查。默认值为 0.5f。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-19
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 2017-02-20
      相关资源
      最近更新 更多