我想知道如何为yarn配置动态队列: 假设有2个队列
我注意到B项只会坚持他们分配的资源,即使其他70%是空的。如何重新分配这些资源(如果没有A作业)以更快地完成B作业?
答案 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支持从资源使用超过其保证容量的队列中抢占容器。
该页面上列出了许多参数,您应该查看这些参数以进行良好配置。