Hadoop - 在xml中增加map任务不会增加运行时的map任务

时间:2011-10-07 23:30:29

标签: hadoop mapreduce

我在conf/mapred-site.xml

中添加了以下内容
<property>
  <name>mapred.tasktracker.map.tasks.maximum</name>
  <value>4</value>
</property>

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

但是当我运行这份工作时,它仍会运行2 maps(which is default one)?如何强制增加这个数字呢?

P.S。我正在使用Ubuntu Quad core

谢谢

3 个答案:

答案 0 :(得分:4)

您是否在运行少量数据?可能是您的MapReduce作业仅在一个输入拆分上运行,因此不需要更多映射器。尝试在数百MB的数据上运行你的工作,看看你是否还有同样的问题。

能够在单个节点上运行的最大任务数与作业所具有的地图任务数无关。你的工作可能是20个地图任务,而你的集群有5个地图插槽,而且只需要更长的时间。或者,您的群集可能有50个地图位,但您的工作只有2个地图位。

答案 1 :(得分:2)

mapred.tasktracker.map.tasks.maximum是tasktracker可以同时运行的最大任务数。但是,如果要为整个作业设置地图任务的数量,请将mapred.map.tasks设置为4。

答案 2 :(得分:0)

<property>
  <name>mapred.tasktracker.map.tasks.maximum</name>
  <value>1</value>
  <final>true</final>
</property>

试试。