2013-11-23 82 views
1

我有一個3個節點的集羣,我想增加mapper和reducer的數量,以便每個節點有5個mapper和reducer。我使用下面的代碼,但它不適合我。任何幫助?如何增加hadoop中mapreduce程序中mappers和reducers的數量?

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> 
+0

你有沒有重新啓動jobtraker和所有tasktraker?並且你的工作量足夠大至少15 * 64mb。 –

回答

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是特定J A(幾乎忽略不計)提示查看有多少地圖和減少任務以安排工作。

最終配置屬性格式錯誤,我認爲你的意思是mapred.reduce.tasks它確實控制將爲特定作業運行的縮減器的數量。

因此,目前看起來您爲給定的任務跟蹤器配置了15個映射和15個縮減插槽(這些值針對每個任務跟蹤器,而不是整個羣集) - 將這些值修改爲5您還需要將此配置更改部署到所有3個羣集節點,最後您需要重新啓動所有三個節點上的任務跟蹤器(以使更改生效)。您應該能夠在地圖和縮小插槽數量下看到作業跟蹤器Web UI中的更改。

相關問題