明明我的hadoop cluster 有三個node,但為什麼每次跑MapReduce時都只有跑1個或2個map?
(Map階段是將job分散給node的最重要階段,reduce做map處理完後的總合,依撰寫的程式而異,reduce甚至只做輸出的動作)
如下圖所示:
參考hadoop設定檔的預設值:
<property>
<name>mapred.map.tasks</name>
<value>2</value>
<description> define mapred.map tasks to be number of slave hosts </description>
</property>
以及說明
若要改掉預設值請編輯HADOOP_HOME/conf/mapred-site.xml
將
<property>
<name>mapred.map.tasks</name>
<value>3</value>
<description> define mapred.map tasks to be number of slave hosts </description>
</property>
加到
<configuration></configuration>
標籤中就OK了,範例中的3是因為我有3個node,當然我也可以設定成6或是9 這些3的倍數
之後我的job就會分成3個map去跑

分成三個map
而三個map又分別在三個node上run
請先 登入 以發表留言。