如果我已将 mapred-site.xml 中的参数 mapred.tasktracker.reduce.tasks.maximum 的值指定为 2,并且程序的代码将 reduce 任务指定为 job.setNumReduceTasks(1),那么mapred-site.xml 中指定的参数将被忽略或服从,2 个 reduce 任务将同时执行。
问问题
223 次
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 回答