减少器数量对集群节点数量的依赖性

时间:2013-02-06 17:14:26

标签: java linux hadoop mapreduce reducers

我的hadoop程序使用一个映射器,它将输入数据分成一定数量的部分,这些部分在/usr/countcomputers.txt文件中设置(由mapper函数读取)。此外,一部分到达每个减速器。因此,/usr/countcomputers.txt文件中设置的数字定义了减速器的数量。在这方面我提出了一个问题:Reducer仅在启动了TaskTracker恶魔的计算机上执行,或者在所有节点上执行,包括NameNode的恶魔,JobTracker和Secondary NameNode的启动?对我而言,了解对此问题的回答非常重要,因为/usr/countcomputers.txt文件中设置的数字取决于它,在程序中读取。

1 个答案:

答案 0 :(得分:0)

只允许tasktracker运行reducer(如果为属性mapreduce.tasktracker.reduce.tasks.maximum配置了大于零的数字)。

因此,您可以放心地假设只在运行任务跟踪器的主机上执行reduce任务。