Architettura di Hadoop YARN - Vari componenti di YARN

Sommario:

Anonim

Introduzione all'architettura Hadoop YARN

MapReduce è stato utilizzato per eseguire sia la gestione delle risorse che l'elaborazione nella precedente versione 1.0 di Hadoop. Qui Job Tracker ha eseguito l'allocazione delle risorse, la pianificazione e il monitoraggio dei lavori assegnando la mappa e riducendo le attività al Task Tracker. Ciò ha comportato problemi come la scalabilità, l'utilizzo inefficiente delle risorse. Poiché il framework Hadoop ha subito diversi cambiamenti nel corso degli anni; possiamo vedere che può essere usato per eseguire molto di più che eseguire solo i lavori MapReduce. YARN sta per Yet Another Resource Negotiator, chiamato sistema di gestione dei cluster di Hadoop, introdotto con Hadoop 2.0 per supportare il calcolo distribuito che migliora anche l'implementazione di MapReduce. In YARN, il gestore delle risorse e gli scheduler sono esterni al framework. Quindi in YARN anche se abbiamo nodi di dati non ci sono più Task Tracker o Job Tracker. Anche con YARN, possiamo avere la gestione delle risorse e la pianificazione generica. In questo argomento, impareremo le diverse architetture di YARN

Spiega l'architettura di Hadoop YARN con il diagramma

(Architettura di Hadoop YARN)

YARN introduce il concetto di Resource Manager e Application Master in Hadoop 2.0. Il gestore risorse vede l'utilizzo delle risorse attraverso il cluster Hadoop mentre il ciclo di vita delle applicazioni in esecuzione su un determinato cluster è supervisionato dal master dell'applicazione. Fondamentalmente, possiamo dire che per le risorse del cluster, l'Application Master negozia con il Resource Manager. Questo compito viene svolto dai contenitori che contengono restrizioni di memoria definite. Quindi questi contenitori vengono utilizzati per eseguire i processi specifici dell'applicazione e anche questi contenitori sono supervisionati dai Node Manager che sono in esecuzione su nodi nel cluster. Ciò confermerà che l'applicazione non utilizza più delle risorse allocate.

Vari componenti di YARN

Di seguito sono riportati i vari componenti di YARN.

1) Gestione risorse

YARN funziona attraverso un Resource Manager che è uno per nodo e Node Manager che gira su tutti i nodi. Il gestore risorse gestisce le risorse utilizzate in tutto il cluster e il gestore nodi pranza e monitora i contenitori. Scheduler e Application Manager sono due componenti di Resource Manager.

  • Scheduler : la pianificazione viene eseguita in base al fabbisogno di risorse da parte delle applicazioni. YARN offre alcuni programmatori tra cui scegliere e sono Scheduler equi e di capacità. In caso di errore hardware o dell'applicazione, l'Utilità di pianificazione non garantisce il riavvio delle attività non riuscite. Inoltre, Scheduler alloca le risorse alle applicazioni in esecuzione in base alla capacità e alla coda.
  • Application Manager : gestisce l'esecuzione dell'Application Master in un cluster e in caso di errore dell'Application Master Container, aiuta a riavviarlo. Inoltre, ha la responsabilità di accettare la presentazione dei lavori.

2) Node Manager

Node Manager è responsabile dell'esecuzione dell'attività in ciascun nodo dati. Il Node Manager in YARN per impostazione predefinita invia un heartbeat al Resource Manager che trasporta le informazioni dei container in esecuzione e riguardanti la disponibilità delle risorse per i nuovi container. È responsabile della visualizzazione individuale dei nodi nel cluster e gestisce il flusso di lavoro e i lavori utente su un nodo specifico. Gestisce principalmente i contenitori dell'applicazione assegnati dal gestore risorse. Node Manager avvia i container creando i processi container richiesti e inoltre uccide i container come richiesto da Resource Manager.

3) Contenitori

I contenitori sono un insieme di risorse come RAM, CPU, memoria ecc. Su un singolo nodo e sono programmati da Resource Manager e monitorati da Node Manager. Il ciclo di vita del contenitore gestisce i contenitori YARN utilizzando il contesto di avvio del contenitore e fornisce l'accesso all'applicazione per l'utilizzo specifico delle risorse in un determinato host.

4) Master applicazione

Monitora l'esecuzione delle attività e gestisce anche il ciclo di vita delle applicazioni in esecuzione sul cluster. Un singolo master applicazione viene associato a un lavoro quando viene inviato al framework. La sua principale responsabilità è quella di negoziare le risorse dal Resource Manager. Funziona con Node Manager per monitorare ed eseguire le attività.

Per eseguire un'applicazione tramite YARN, vengono eseguiti i passaggi seguenti.

  • Il client contatta il Resource Manager che richiede di eseguire il processo dell'applicazione, ovvero invia l'applicazione YARN.
  • Il passo successivo è che il Resource Manager cerca un Node Manager che, a sua volta, avvierà l'Application Master in un container.
  • Application Master può eseguire l'esecuzione nel contenitore in cui è attualmente in esecuzione e fornire il risultato al client oppure può richiedere più contenitori dal gestore risorse che può essere chiamato calcolo distribuito.
  • Il client quindi contatta il Resource Manager per monitorare lo stato dell'applicazione.

Con MapReduce in Hadoop versione 1.0 (MRV1), il numero di mappe e gli slot di riduzione sono stati definiti per nodo. Anche in un cluster Hadoop, poiché le capacità hardware variavano e il numero di attività su un nodo specifico doveva essere limitato manualmente. Ma con YARN, questa lacuna viene superata perché qui il Resource Manager conosce la capacità di ciascun nodo mentre comunica con il Node Manager che gira su ciascun nodo.

Conclusione - Hadoop YARN Architecture

YARN aiuta a superare il problema di scalabilità di MapReduce in Hadoop 1.0 in quanto divide il lavoro di Job Tracker, sia della pianificazione dei lavori che del monitoraggio dell'avanzamento delle attività. Inoltre, il problema della disponibilità è stato superato, come in precedenza in Hadoop 1.0, l'errore di Job Tracker ha portato al riavvio delle attività. YARN è venuto con molti bonus aggiunti come un migliore utilizzo delle risorse in quanto non esiste uno slot fisso per le attività in quanto fornisce la gestione centrale delle risorse. Quindi, con YARN, molti dei problemi affrontati nella versione precedente di Hadoop sono stati superati poiché aiuta a separare l'elaborazione dei dati dalla pianificazione e dalla gestione delle risorse. Con YARN, è possibile eseguire query interattive in modo indipendente e fornire una migliore analisi in tempo reale.

Articoli consigliati

Questa è stata una guida all'architettura Hadoop YARN. Qui discutiamo i vari componenti di YARN che includono Resource Manager, Node Manager e Containers insieme all'architettura. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Apache Hadoop Ecosystem
  2. Componenti dell'ecosistema Hadoop
  3. Componenti Hadoop
  4. Hadoop Ecosystem