Video: hadoop yarn architecture 2024
Ogni nodo slave in Yet Another Resource Negotiator (YARN) ha un daemon Node Manager, che funge da slave per Resource Manager. Come con TaskTracker, ogni nodo slave ha un servizio che lo lega al servizio di elaborazione (Node Manager) e al servizio di archiviazione (DataNode) che consente a Hadoop di essere un sistema distribuito.
Ogni Node Manager tiene traccia delle risorse di elaborazione dati disponibili sul proprio nodo slave e invia rapporti regolari al Resource Manager.
Le risorse di elaborazione in un cluster Hadoop vengono consumate in pezzi di dimensioni limitate chiamati contenitori. Un contenitore è una raccolta di tutte le risorse necessarie per eseguire un'applicazione: core della CPU, memoria, larghezza di banda della rete e spazio su disco. Un contenitore distribuito viene eseguito come un singolo processo su un nodo slave in un cluster Hadoop.
Il concetto di contenitore può ricordare uno slot , l'unità di elaborazione utilizzata da JobTracker e TaskTracker, ma presentano alcune differenze notevoli. Più significativamente, i contenitori sono generici e possono eseguire qualsiasi logica applicativa a cui sono assegnati, a differenza degli slot, che sono specificatamente definiti per eseguire una mappa o ridurre le attività. Inoltre, i contenitori possono essere richiesti con quantità personalizzate di risorse, mentre le slot sono tutte uniformi.
Finché l'importo richiesto è compreso tra il limite minimo e massimo di ciò che è accettabile per un contenitore (e finché la quantità di memoria richiesta è un multiplo dell'importo minimo), il Gestore risorse concederà e programmerà quel contenitore.
Tutti i processi contenitore in esecuzione su un nodo slave vengono inizialmente predisposti, monitorati e tracciati dal daemon Node Manager di quel nodo slave.