Mapreduce 作业消耗更多资源和更改队列

Mapreduce job consuming more resource and changing queue

我有一个 MapReduce 作业 运行超过 1.7 亿条记录。这导致消耗了 98% 的队列资源和 89% 的集群资源。管理团队建议他们创建具有有限配置的新队列,我应该将我的工作推送到该队列中。

这里有问题,我有:-

1- 如何将我的 mapreduce 作业 ("hadoop jar") 以最小的变化推送到新队列?

2- 新创建的队列资源有限,如果队列满了怎么办?它会导致长 运行 或作业失败吗?

3- 是否有任何其他最佳方法来防止作业消耗所有资源,如果作业 运行 稍微长一点我们就可以了。

请指教。任何帮助都会很棒。

如果您正在使用 Capacity/Fair Share Scheduler,并且您的管理员分配了一个队列:

第一个场景(容量):

然后会发生的是,该作业将需要很长时间才能完成,但不会失败。

如果您的作业消耗了它的所有资源,而另一个队列有一些资源没有被任何其他作业使用,那么您当前的作业也可以使用这些资源。

为了提高性能,您可以增加节点管理器的数量,这样资源也会增加,而且作业将分布在更多节点上,从而降低延迟。

第二种情况(公平份额)

在这种情况下,

假设你有一个 100% 资源的队列,第一个作业将消耗所有资源,如果有其他作业进来,资源将按作业数平均分配,即总数 resources/no.职位。

同样,只要提供了该作业所需的最少资源,该作业就会继续 运行。但是,时间消耗会更多,这在您的情况下不是问题。