gpt4 book ai didi

hadoop - 为特定的M/R作业设置 reducer 容量

转载 作者:行者123 更新时间:2023-12-02 20:10:34 26 4
gpt4 key购买 nike

我想基于每个作业更改群集的减少插槽容量。也就是说,
最初,我为Tasktracker配置了8个reduce插槽,因此对于具有100个reduce任务的作业,将同时运行(8 * datanode数量)reduce任务。但是对于特定的工作,我想将此数字减少到一半,所以我这样做了:

conf.set("mapred.tasktracker.reduce.tasks.maximum", "4");
...
Job job = new Job(conf, ...)

在Web UI中,我可以看到,对于此作业,最大缩减任务正好是4个,就像我设置的一样。但是hadoop仍为每个数据节点启动8个reducer……似乎我无法更改这种减少容量。

我在Hadoop邮件列表上问,有人建议我可以使用容量调度程序来实现,该怎么办?

我正在使用hadoop 1.0.2。

谢谢。

最佳答案

Capacity Scheduler允许您为MapReduce作业指定资源限制。基本上,您必须定义要将作业计划到的队列。每个队列可以具有不同的配置。

就您的问题而言,使用容量调度程序时,可以指定每个任务的RAM限制,以限制给定任务占用的插槽数。根据documentation,当前仅在Linux平台中支持基于内存的调度。

有关此主题的更多信息,请参见:http://wiki.apache.org/hadoop/LimitingTaskSlotUsagehttp://hadoop.apache.org/docs/stable/capacity_scheduler.html

关于hadoop - 为特定的M/R作业设置 reducer 容量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16338715/

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