gpt4 book ai didi

hadoop - yarn : Controlling concurrency of jobs

转载 作者:可可西里 更新时间:2023-11-01 16:44:25 24 4
gpt4 key购买 nike

我一直在尝试使用 YARN 资源队列,通过在任何给定时间控制作业数量(我只有 MR 作业,没有其他 YARN 应用程序)来控制争用。我的情况是——

我有一项服务可以接受来自用户的请求并运行一些报告(作为 MR 作业)。这些工作有时会很耗时,在高峰期,这些工作会争夺资源,过多的共享意味着没有一个工作能取得像样的进展。我正在尝试尽量减少在任何给定时间可以在队列上运行的报告数量。

我可以通过将队列的最大运行应用程序设置为所需值来完成部分工作。现在,我可以将 MR 应用程序/作业提交到集群,并且在任何给定时间只运行(假设为“n”)作业。现在,问题是,没有办法抢占同一个队列中的任务(或者我不知道)。我希望我能够以这样的方式向这个队列提交作业:当有一个作业时,它占据了所有队列,当有 2 个作业时,第一个作业的一些任务被杀死并且两个作业都相等资源和第三个工作进一步划分资源等(基本上是 FairShareScheduler 与抢占一起工作的方式,但在一个队列而不是多个队列中)。

这可能吗?我现在只有一个用户(我的服务)提交工作。我可以将我的服务的用户向下传播到集群(我不喜欢这样做,但如果没有其他选择也可以这样做),以便基于用户创建子队列。但是后来我不知道如何获得我想要的行为,因为有很多用户而且我不确定如何在不知道队列名称(将在提交作业时创建)的情况下为每个队列设置限制(权重) .

在此先感谢您的帮助。

最佳答案

我发现无法抢占同一个队列中的容器。我以妥协的方式工作。

关于hadoop - yarn : Controlling concurrency of jobs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37823001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com