有没有什么方法可以防止reduce任务在所有map任务完成之前启动

cclgggtu  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(429)

我希望在hadoop集群上同时运行多个作业,但我希望在该作业的所有Map任务完成之前,阻止某些作业启动reduce阶段(使reduce插槽繁忙或保留)。有没有任何配置的工作,使主题限制如上所述?
谢谢。

laik7k3q

laik7k3q1#

您可以在这里获得apachehadoop的默认值 mapred.reduce.slowstart.completed.maps 有价值吗 0.05 哪个是
作业中应在为作业计划reduce之前完成的Map数的一部分。

z9ju0rcb

z9ju0rcb2#

reduce slow start默认情况下,调度程序会等到一个作业中5%的Map任务完成后,才会为同一个作业调度reduce任务。对于大型作业,这可能会导致群集利用率问题,因为它们在等待map任务完成时占用reduce插槽。将mapred.reduce.slowstart.completed.maps设置为更高的值,例如0.80(80%),可以帮助提高吞吐量。
参考:hadoop权威指南第3版,第9章: 设置hadoop集群page:316

相关问题