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

siv3szwd  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(450)

我有一个由3个节点组成的集群,我想增加Map器和还原器的数量,这样每个节点就有5个Map器和还原器。我使用了下面的代码,但它不适合我。有什么帮助吗?
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>
eiee3dmh

eiee3dmh1#

看起来您在这里混合了多种配置设置:
这两个定义了每个从属节点上可用的map和reduce插槽的数量(运行任务跟踪器):

<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 是一个(几乎被忽略的)关于某个特定作业的提示,表示要为您的作业安排多少Map和减少任务。
最后的配置属性是错误的,我想你的意思是 mapred.reduce.tasks 它控制将为特定作业运行的减速器的数量。
因此,目前看起来您为给定的任务跟踪器配置了15个map和15个reduce插槽(这些值针对每个任务跟踪器,而不是针对整个集群)-将这些值修改为5。您还需要将此配置更改部署到所有3个集群节点,最后需要在所有3个节点上重新启动任务跟踪器(以使更改生效)。你应该能够在job tracker web ui中看到变化,在number of map和reduce slots下。

相关问题