Che cos'è un contenitore in YARN? È uguale alla JVM secondaria in cui vengono eseguite le attività sul nodemanager o è diversa?Che cos'è un contenitore in YARN?
risposta
Rappresenta una risorsa (memoria) su un singolo nodo in un determinato cluster.
Un contenitore è
- sotto la supervisione del responsabile di nodo
- in programma dal gestore delle risorse
Un compito MR viene eseguito in tale contenitore (s).
Possono esserci più contenitori su un singolo nodo (o uno solo molto grande).
Ogni nodo nel sistema è considerato composto da più contenitori di dimensioni minime della memoria (ad esempio 512 MB o 1 GB). ApplicationMaster può richiedere qualsiasi contenitore come multiplo della dimensione minima della memoria.
Source, vedere la sezione ResourceManager/Resource Model.
AFAIK, ApplicationMaster può richiedere qualsiasi dimensione, ma lo scheduler di filati si assegna solo come multipli della dimensione minima della memoria definita nella classe di proprietà yarn.scheduler.minimum *. –
Parola 'Container' viene utilizzato in filato in due contesti,
Contenitore: significa un risorse assegnate ad un ApplicationMaster. ResourceManager è responsabile dell'emissione di risorse/container a un ApplicationMaster. Controlla l'API Container.
Avvio di un contenitore: In base alle risorse allocate (contenitori) ApplicationMaster richiede a NodeManager di avviare Container, determinando l'esecuzione dell'attività su un nodo. Verifica l'API ContainerManager.
In termini semplici, Container è un luogo in cui viene eseguita un'applicazione YARN. È disponibile in ogni nodo. Application Master negozia il contenitore con lo scheduler (uno dei componenti di Resource Manager). I contenitori vengono avviati da Node Manager.
In Hadoop 2.x, Container è un luogo in cui si verifica un'unità di lavoro. Ad esempio, ogni attività MapReduce (non l'intero lavoro) viene eseguita in un contenitore.
Un'applicazione/lavoro verrà eseguita su uno o più contenitori.
Insieme di risorse di sistema allocate per ciascun contenitore, sono attualmente supportati il core CPU e la RAM. Ogni nodo in un cluster Hadoop può eseguire diversi contenitori.
In Hadoop 1.x uno slot viene assegnato da JobTracker per eseguire ciascuna attività MapReduce. Quindi TaskTracker genera una JVM separata per ogni attività (a meno che il riutilizzo JVM non sia abilitato).
Container :
Il leasing logico sulle risorse e il processo effettivo generato sul nodo vengono utilizzati in modo intercambiabile. È lo stesso processo in cui vengono eseguite le attività (o AM). Per avviare il contenitore forniamo oggetto contenitore e CLC (ContainerLaunchContext) in cui impostiamo l'elenco di comandi per eseguire attività (o AM).
nmClient.startContainer(container, clcObj)
ContainerLaunchContext code snippet :
<code>
.
.
.
/**
* Add the list of <em>commands</em> for launching the container. All
* pre-existing List entries are cleared before adding the new List
* @param commands the list of <em>commands</em> for launching the container
*/
@Public
@Stable
public abstract void setCommands(List<String> commands);
</code>
Secondo la dimensione dei dati di ingresso, vengono creati più gruppi di ingresso. Il lavoro MR deve elaborare tutti i dati in modo da creare più attività (mappa & ridurre le attività). Quindi per ogni suddivisione di input verrà elaborata da una sola attività. Ora come eseguire questa attività, è suggerito da Gestione risorse. Il manager delle risorse sa quale gestore dei nodi è libero e che è occupato, è come il principale del college e il gestore dei nodi è l'insegnante di classe del college e il preside sa quale insegnante è libero. Quindi chiede al gestore nodo di eseguire quell'attività (piccola frazione dell'intero lavoro) nel contenitore, ad esempio nell'area di memoria tale che jvm. Quindi il lavoro viene eseguito come un master dell'applicazione all'interno del contenitore.
- 1. In che modo Spark on Yarn memorizza i file mescolati?
- 2. Utilizzo memoria Python Spark/Yarn
- 3. Nodi SENZA SALUTE YARN
- 4. Apache Helix vs YARN
- 5. tela Raffaello che riempie un contenitore div
- 6. Assegnazione risorse aggregate per un lavoro in YARN
- 7. Esegui esecutore spark su YARN
- 8. Contenitore IoC leggero che funziona in Unity3D
- 9. Che cos'è il contenitore ActiveX?
- 10. Layout automatico di un contenitore secondario che incorpora un UIViewController
- 11. Elaborazione distribuita di PySpark su un cluster YARN
- 12. Contenitore di nidificazione all'interno di un bootstrap di un contenitore
- 13. Perché errore memoria spazio java heap YARN?
- 14. Cos'è la memoria riservata su Yarn
- 15. È consentito il multithreading su Spark/YARN?
- 16. Problemi di prestazione per la scintilla su YARN
- 17. In che modo YARN decide di creare quanti contenitori? (Perché la differenza tra S3a e HDFS?)
- 18. Un contenitore std :: map che mappa i tipi ai valori
- 19. Esecuzione di un contenitore Docker che accetta il traffico dall'host
- 20. Riutilizzare un contenitore spostato?
- 21. Differenze tra MapReduce e YARN esistenti (MRv2)
- 22. contenitore jsp contenitore servlet
- 23. problema Esecuzione Spark lavoro su cluster Yarn
- 24. Montaggio di un volume contenitore in un altro contenitore su un percorso diverso
- 25. Docker Componi il contenitore circolare che collega
- 26. Esiste un contenitore ordinato in STL
- 27. Come dichiarare un contenitore autoreferenziale in C++?
- 28. Popolare un contenitore membro statico in C++
- 29. Couchbase XDCR in un contenitore Docker
- 30. Differenza tra Application Manager e Application Master in YARN?
Un'attività MR non viene eseguita in un contenitore di questo tipo. Funziona su un set di contenitori, poiché ogni mappa o funzione di riduzione viene eseguita su un contenitore. Un'attività può essere eseguita in modalità * uber * su un contenitore, ma un'attività di solito si estende su centinaia o migliaia di contenitori tramite 'MRAppMaster'. Inoltre, un contenitore descritto da un vettore di risorse avanzate e non rappresenta esclusivamente la memoria. – Dyin
Grazie per aver segnalato questo, hai ragione, ho aggiornato la risposta. Tuttavia, quando ho risposto a questa domanda più o meno 2 anni fa, un contenitore rappresentava solo una risorsa di memoria. –
qual è la relazione tra contenitori e esecutori? ciascun esecutore è in esecuzione in un contenitore? Grazie! – lucian