如何在hadoop的mapreduce程序中增加mapper和reducer的数量



我有一个由3个节点组成的集群,我想增加映射器和减少器的数量,使每个节点都有5个映射器和减小器。我使用了下面的代码,但它对我不起作用。有什么帮助吗?

映射的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>

看起来这里混合了配置设置:

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

<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个集群节点,最后您需要重新启动所有三个节点上的任务跟踪器(使更改生效)。您应该能够在Job tracker Web UI中的映射和减少槽的数量下看到更改。

相关内容

  • 没有找到相关文章

最新更新