2014-08-29 9 views
7

Sto usando Hadoop-2.4.0 e le mie configurazioni di sistema sono 24 core, 96 GB di RAM.filato non onora filato.nodemanager.resource.cpu-vcores

Sto usando seguenti configurazioni

mapreduce.map.cpu.vcores=1 
yarn.nodemanager.resource.cpu-vcores=10 
yarn.scheduler.minimum-allocation-vcores=1 
yarn.scheduler.maximum-allocation-vcores=4 
yarn.app.mapreduce.am.resource.cpu-vcores=1 

yarn.nodemanager.resource.memory-mb=88064 
mapreduce.map.memory.mb=3072 
mapreduce.map.java.opts=-Xmx2048m 

configs Capacità di pianificazione

queue.default.capacity=50 
queue.default.maximum_capacity=100 
yarn.scheduler.capacity.root.default.user-limit-factor=2 

Con configurazioni di cui sopra, mi aspetto filato non lancerà più di 10 mapper per nodo, ma il lancio di 28 mapper per nodo. Sto facendo qualcosa di sbagliato ??

risposta

22

YARN sta eseguendo più contenitori dei nuclei allocati perché per impostazione predefinita viene utilizzato DefaultResourceCalculator. Considera solo memoria.

public int computeAvailableContainers(Resource available, Resource required) { 
// Only consider memory 
return available.getMemory()/required.getMemory(); 
    } 

Utilizzare DominantResourceCalculator, utilizza sia cpu che memoria.

Situato proprio sotto config nella capacità scheduler.xml

yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DominantResourceCalculator 

Ulteriori informazioni su DominantResourceCalculator

+5

buone risposte accompagnare esempi di codice con una spiegazione per i lettori futuri. Mentre la persona che fa questa domanda può capire la tua risposta, spiegare come sei arrivato aiuterà molti altri. – Stonz2

+0

@ Stonz2 Mi scuso per la risposta incompleta. Ho fatto questa domanda e non c'è stata risposta per le prossime 4-5 ore e aveva solo 5 viste. Nel frattempo ho anche eseguito il debug del codice e ho trovato la risposta. Per aiutare gli altri ho rapidamente aggiunto le configurazioni richieste, ho dovuto eseguire più esperimenti intorno ad esso. – banjara

+0

Ho passato qualche ora a cercare di capire perché YARN mi stava dicendo che ci sono un numero negativo di vcore disponibili sui miei nodi! – jonson

Problemi correlati