我有一个由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中的映射和减少槽的数量下看到更改。