2011-10-07 8 views
5

ho aggiunto il seguente nel mio conf/mapred-site.xmlHadoop - aumentando mappa compiti in xml non significa aumenta mappa compiti quando gira sotto

<property> 
    <name>mapred.tasktracker.map.tasks.maximum</name> 
    <value>4</value> 
</property> 

<property> 
    <name>mapred.tasktracker.reduce.tasks.maximum</name> 
    <value>1</value> 
</property> 

Ma quando ho eseguito il lavoro, la sua corre ancora 2 maps(which is default one)? Come posso forzare questo numero ad aumentare?

P.S. Sto usando Ubuntu Quad core scatola

Grazie

risposta

4

Si sta eseguendo una piccola quantità di dati? Potrebbe essere che il tuo lavoro MapReduce stia eseguendo solo una divisione di input e quindi non richiede più mapper. Prova a eseguire il tuo lavoro su centinaia di MB di dati e vedi se hai ancora lo stesso problema.

Il numero massimo di attività in grado di essere eseguito su un singolo nodo non ha nulla a che fare con il numero di attività della mappa di un lavoro. Il tuo lavoro potrebbe essere composto da 20 attività cartografiche, mentre il tuo cluster dispone di 5 aree mappa e richiederà più tempo. Oppure, il tuo cluster potrebbe avere 50 slot mappa, ma il tuo lavoro ha solo 2 slot mappa.

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

provare che.

+0

La query originale riguardava le attività della mappa e non le attività di riduzione. Il numero totale di attività della mappa per un lavoro è uguale al numero delle divisioni di input. Possiamo controllare solo il numero di mappe/ridurre le attività che possono essere eseguite in || el su un TaskTracker. –

+0

È il lavoro che dovrebbe essere eseguito con più attività sulla mappa e non sull'intero cluster. –

2

mapred.tasktracker.map.tasks.maximum è il numero massimo di attività che un tasktracker può eseguire contemporaneamente. Ma quando si desidera impostare il numero di attività della mappa per un lavoro nel suo complesso, impostare mapred.map.tasks su 4.