纱线动态重新分配剩余的计算能力

时间:2017-02-17 16:36:56

标签: hadoop yarn

我想知道如何为yarn配置动态队列: 假设有2个队列

  1. A(高性能,70%的群集)
  2. B(正常,休息=群集的30%)
  3. 我注意到B项只会坚持他们分配的资源,即使其他70%是空的。如何重新分配这些资源(如果没有A作业)以更快地完成B作业?

1 个答案:

答案 0 :(得分:1)

容量调度程序文档https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html对队列中的弹性和资源抢占提出了一些观点。

  

弹性 - 可以将免费资源分配给超出其容量的任何队列。当在未来某个时间点运行低于容量的队列需要这些资源时,随着在这些资源上调度的任务完成,它们将被分配给运行在容量以下的队列上的应用程序(也支持抢占)。这样可以确保资源以可预测和弹性的方式提供给队列,从而防止群集中的资源孤立,从而有助于利用。


它还指定了有关队列弹性和资源/容器抢占的配置参数,如:

  

yarn.scheduler.capacity。[queue-path] .capacity - 以浮点数(例如12.5)的百分比(%)排队容量。每个级别的所有队列的容量总和必须等于100.如果有空闲资源,则队列中的应用程序可能比队列容量消耗更多资源,从而提供弹性。

关于抢占

  

CapacityScheduler支持从资源使用超过其保证容量的队列中抢占容器。

该页面上列出了许多参数,您应该查看这些参数以进行良好配置。