如何在hadoop中增加mapreduce程序中的映射器和缩减器数量?

时间:2013-11-23 02:21:56

标签: hadoop mapreduce cluster-computing reduce

我有一个包含3个节点的集群,我想增加mapper和reducer的数量,这样每个节点就有5个mapper和reducer。我使用下面的代码,但它对我不起作用。有什么帮助吗?

mapred-site.xml中

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>vhost2456:9001</value>
<description>The host and port that the MapReduce job tracker runs
at.</description>
 </property>
 <property>
 <name>mapred.tasktracker.map.tasks.maximum</name>
 <value>15</value>
 </property>
 <property>
 <name>mapred.tasktracker.reduce.tasks.maximum</name>
 <value>15</value>
 </property>
 <property>
 <name>mapred.map.tasks</name>
 <value>5</value>
 </property>
 <property>
 <name>reduce.map.tasks</name>
 <value>5</value>
 </property>
 </configuration>

1 个答案:

答案 0 :(得分:2)

在这里看起来你有很多配置设置:

这两个定义了每个从节点上可用的映射和减少插槽的数量(运行任务跟踪器):

<property>
  <name>mapred.tasktracker.map.tasks.maximum</name>
  <value>15</value>
</property>
<property>
  <name>mapred.tasktracker.reduce.tasks.maximum</name>
  <value>15</value>
</property>

mapred.map.tasks是一个(几乎被忽略的)特定工作的提示,关于为你的工作安排多少地图和减少任务。

最终的配置属性格式不正确,我认为你的意思是mapred.reduce.tasks确实可以控制为特定作业运行的缩减器数量。

所以目前看起来你为给定的任务跟踪器配置了15个map和15个reduce槽(这些值适用于每个任务跟踪器,而不是整个集群) - 将这些值修改为5.你还需要将此配置更改部署到所有3个集群节点,最后需要在所有三个节点上重新启动任务跟踪器(以使更改生效)。您应该能够在地图和缩小插槽的数量下看到作业跟踪器Web UI中的更改。