2011-10-07 34 views
5

我說在我的conf/mapred-site.xmlHadoop的 - 增加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

謝謝

回答

4

您是否運行少量數據?這可能是因爲您的MapReduce作業僅運行一個輸入拆分,因此不需要更多映射器。試着在數百MB的數據上運行你的工作,看看你是否仍然有同樣的問題。

能夠在單個節點上運行的最大任務數量與作業所具有的地圖任務數量無關。你的工作可能是20個地圖任務,而你的集羣有5個地圖插槽,而且只需要更長的時間。或者,您的羣集可能有50個地圖插槽,但您的作業只有2個地圖插槽。

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

嘗試。

+0

原始查詢是關於地圖任務而不是減少任務。作業的地圖任務總數等於輸入拆分的數量。我們只能控制可以在TaskTracker上運行的map/reduce任務的數量。 –

+0

這是應該運行更多地圖任務而不是整個集羣的工作。 –

2

mapred.tasktracker.map.tasks.maximum是任務跟蹤器可以同時運行的最大任務數。但是,如果要爲整個作業設置地圖任務的數量,請將mapred.map.tasks設置爲4.