0

如果我已将 mapred-site.xml 中的参数 mapred.tasktracker.reduce.tasks.maximum 的值指定为 2,并且程序的代码将 reduce 任务指定为 job.setNumReduceTasks(1),那么mapred-site.xml 中指定的参数将被忽略或服从,2 个 reduce 任务将同时执行。

4

1 回答 1

1

你被mapred.reduce.tasks和搞混了mapred.tasktracker.reduce.tasks.maximum。实际上,job.setNumReduceTasks(1)将设置mapred.reduce.tasks为 1。并且mapred.tasktracker.reduce.tasks.maximum是将由任务跟踪器同时运行的最大减少任务数。这是两个完全不同的参数。

mapred.tasktracker.reduce.tasks.maximum更重要的是, in的值mapred-site.xml是唯一有效的值。您无法更改它,因为任务跟踪器在启动时会使用它。mapred.reduce.tasks是一个 Job 的属性。不同的 Job 可以有不同的mapred.reduce.tasks值。

于 2013-09-15T12:24:45.820 回答