是否能够限制hadoop hive mapred作业的最大减速器?

时间:2011-02-07 17:54:46

标签: configuration hadoop hive

我尝试用我的查询前缀:

set mapred.running.reduce.limit = 25;

并且

 set hive.exec.reducers.max = 35;

最后一个人将530减速器的工作减少到35 ......这让我觉得它会尝试将减少零件的零件减少到35个。

现在给予

set mapred.tasktracker.reduce.tasks.maximum = 3;

尝试查看该数字是否是每个节点的某种最大值(以前在具有70个潜在减速器的群集上为7)。

更新

 set mapred.tasktracker.reduce.tasks.maximum = 3;

没有效果,值得一试。

1 个答案:

答案 0 :(得分:1)

不完全是问题的解决方案,但可能是一个很好的妥协。

set hive.exec.reducers.max = 45;

对于具有400+减速器的厄运的超级查询,这会将最昂贵的蜂巢任务监控到总共减少35个。我的集群目前只有10个节点,每个节点支持7个减速器......所以实际上只有70个减速器可以一次运行。通过将工作量减少到70以下,我注意到速度略有提高,而最终产品没有任何明显变化。在生产中对此进行测试,以确定这里到底发生了什么。在此期间,这是一个很好的妥协解决方案。