【问题标题】:Mapreduce job consuming more resource and changing queueMapreduce 作业消耗更多资源和更改队列
【发布时间】:2018-06-05 12:44:42
【问题描述】:

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

这里有问题,我有:-

1- 如何将我的 mapreduce 作业(“hadoop jar”)推送到新队列的最小更改?

2- 由于新创建的队列资源有限,如果队列的容量已满怎么办?是否会导致长期运行或作业失败?

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

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

【问题讨论】:

    标签: hadoop mapreduce bigdata hadoop2 hortonworks-data-platform


    【解决方案1】:

    如果您使用的是容量/公平共享调度程序,并且您的管理员分配了一个队列:

    第一个场景(容量):

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

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

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

    第二种情况(公平分享)

    在这种情况下,

    假设您有一个 100% 资源的队列,第一个作业将消耗所有资源,如果有其他作业进入,则资源将除以作业数,即总资源/否。的工作。

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

    【讨论】:

    • 非常感谢。这有帮助。
    • 这是一种乐趣。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    相关资源
    最近更新 更多