Domanda

Abbiamo un lavoro elegante-Mapreduce bello, grande e complicato che ha vincoli selvaggiamente diversi su hardware per il riduttore di Mapper vs Collector vs.

Il problema è: per i Mappers, abbiamo bisogno di tonnellate di macchine leggere per eseguire diversi mappers in parallelo (tutto buono lì); I collezionisti sono più familiari affamati, ma dovrebbe ancora essere OK per dare loro circa 6 GB di cumulo di picco ciascuno. . . Ma il problema è i riduttori. Quando uno di questi prende il via, afferrerà circa 32-64 GB per l'elaborazione.

Il risultato che ottengono un tipo di mance di task-rort-robbin per la morte del compito perché viene consumata la memoria completa di una scatola, il che causa che un mappro e il riduttore sia riavviato altrove.

L'approccio più semplice sarebbe se potessimo in qualche modo specificare un modo per far funzionare il riduttore su un diverso "Gruppo" (una manciata di scatole ginorme) pur avendo i mappers / collettori in esecuzione su scatole più piccole. Ciò potrebbe anche portare anche a un significativo risparmio di costi, come non dovremmo dimensionare i mappers dei nodi in esecuzione sulle esigenze dei riduttori.

Un'alternativa sarebbe quella di "rompere" il lavoro in modo che ci sia un 2 ° cluster che può essere fuso per elaborare l'output del collettore dei Mappers - ma, è ovviamente "sub-ottimale".

Allora, la domanda è:

    .
  • C'è un modo specificare quali "gruppi" un Mapper o un riduttore lo farà Corri su Mappa elastica e / o Hadoop?
  • C'è un modo per evitare che i riduttori avviassero fino a quando tutti i mappers sono fatti?
  • Qualcuno ha altre idee su come avvicinarsi a questo?

Cheers!

È stato utile?

Soluzione

Durante un lavoro di Hadoop Mapreduce, i riduttori iniziano a funzionare dopo che tutti i mappers sono fatti.L'uscita dalla fase della mappa viene respinta e ordinata prima del partizionamento avviene per decidere quale riduttore riceve quali dati.Quindi, i riduttori iniziano a funzionare dopo che la fase shuffle / ordinamento è terminata (dopo che i mappers sono eseguiti).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top