Capire Hadoop Yarn
Il Dicembre 9, 2021 da adminYARN – Yet Another Resource Negotiator, fa parte della versione Hadoop 2, è uno dei due componenti principali di Apache Hadoop (con HDFS). Pianifica l’uso delle risorse del cluster così come i trattamenti applicati ai dati.
Questa è l’architettura di base di Yarn, dove Resource Manager è il componente centrale dell’intera architettura, che è responsabile della gestione delle risorse tra cui RAM, CPU e altre risorse in tutto il cluster. L’Application Master è responsabile della programmazione delle applicazioni per tutto il ciclo di vita, il Node Manager è responsabile della fornitura e dell’isolamento delle risorse su questo nodo.
Il Resource Manager: controlla la gestione delle risorse del cluster, prende anche decisioni di allocazione. Il gestore delle risorse ha due componenti principali: Scheduler e Applications Manager.
- Lo scheduler: è chiamato YarnScheduler, che permette diverse politiche di gestione dei vincoli come la capacità, l’equità e gli accordi sul livello di servizio.
- L’Applications Manager: è responsabile del mantenimento di un elenco di applicazioni presentate. Dopo che l’applicazione viene presentata dal cliente, il manager dell’applicazione prima convalida se il requisito dell’applicazione delle risorse per il suo master dell’applicazione può essere soddisfatto o no.Se sono disponibili abbastanza risorse, allora inoltra l’applicazione allo scheduler, altrimenti l’applicazione verrà rifiutata.
Il Node Manager: è responsabile del lancio e della gestione dei contenitori su un nodo. I contenitori eseguono compiti come specificato dall’AppMaster.
- Il contenitore: Indica una risorsa assegnata ad un ApplicationMaster. ResourceManager è responsabile dell’emissione di risorse/contenitori a un ApplicationMaster. e si riferisce a un insieme di risorse come memoria, CPU, disco e rete IO.
- L’Application Master: è un’istanza di una libreria specifica del framework che negozia le risorse dal Resource Manager e lavora con il NodeManager per eseguire e monitorare le risorse concesse (in bundle come contenitori) per una data applicazione. Un’applicazione può essere un lavoro mapreduce, un framework hive…
Fasi di esecuzione delle applicazioni con YARN:
Il FIFO scheduler è una delle prime strategie di implementazione utilizzate da Hadoop, e può essere semplicemente interpretato come una coda Java. Tutte le applicazioni sono eseguite nell’ordine di presentazione, e il lavoro dopo il completamento del lavoro precedente sarà eseguito nell’ordine della coda.
Questo scheduler permette alle applicazioni brevi di finire in un tempo ragionevole, mentre non affama le applicazioni di lunga durata.
2. Capacity scheduler
Il Capacity scheduler è uno scheduler collegabile per Hadoop che permette a più tenant di condividere in modo sicuro un grande cluster. Le risorse sono assegnate alle applicazioni di ciascun inquilino in modo da utilizzare pienamente il cluster, governato dai vincoli delle capacità assegnate.
Le code sono tipicamente impostate dagli amministratori per riflettere l’economia del cluster condiviso. Il Capacity Scheduler supporta le code gerarchiche per assicurare che le risorse siano condivise tra le sotto-code di un’organizzazione prima che ad altre code sia permesso di usare le risorse libere.
3. Fair scheduler
Il FairScheduler è uno scheduler inseribile per Hadoop che permette alle applicazioni YARN di condividere le risorse in un grande cluster equamente. La programmazione equa è un metodo per assegnare le risorse alle applicazioni in modo che tutte le applicazioni ottengano, in media, una quota uguale di risorse nel tempo.
Lascia un commento