Hadoop YARN Tutorial - Impara i fondamenti dell'architettura YARN



Questo blog si concentra su Apache Hadoop YARN che è stato introdotto in Hadoop versione 2.0 per la gestione delle risorse e la pianificazione dei lavori. Spiega l'architettura YARN con i suoi componenti e le mansioni svolte da ciascuno di essi. Descrive l'invio della domanda e il flusso di lavoro in Apache Hadoop YARN.

Hadoop YARN unisce l'unità di archiviazione di Hadoop, ovvero HDFS (Hadoop Distributed File System), con i vari strumenti di elaborazione. Per quelli di voi che sono completamente nuovi su questo argomento, YARN sta per ' Y e PER altro R risorsa N egocentrico '. Ti suggerisco anche di passare attraverso il nostro e prima di andare avanti con l'apprendimento di Apache Hadoop YARN. Spiegherò qui i seguenti argomenti per assicurarmi che alla fine di questo blog la tua comprensione di Hadoop YARN sia chiara.

Perché YARN?

In Hadoop versione 1.0, denominata anche MRV1 (MapReduce versione 1), MapReduce ha eseguito sia le funzioni di elaborazione che di gestione delle risorse. Consisteva in un Job Tracker che era l'unico master. Il Job Tracker ha assegnato le risorse, eseguito la pianificazione e monitorato i lavori di elaborazione. Assegna la mappa e riduce le attività su una serie di processi subordinati chiamati Task Tracker. I Task Tracker riportavano periodicamente i loro progressi al Job Tracker.





MapReduce versione 1.0 - Hadoop YARN - Edureka

Questo progetto ha comportato un collo di bottiglia della scalabilità dovuto a un singolo Job Tracker.IBM ha menzionato nel suo articolo che, secondo Yahoo !, i limiti pratici di un tale progetto vengono raggiunti con un cluster di 5000 nodi e 40.000 attività in esecuzione contemporaneamente.A parte questa limitazione, l'utilizzo delle risorse computazionali è inefficiente in MRV1. Inoltre, il framework Hadoop è diventato limitato solo al paradigma di elaborazione MapReduce.



Per superare tutti questi problemi, YARN è stato introdotto nella versione 2.0 di Hadoop nel 2012 da Yahoo e Hortonworks. L'idea alla base di YARN è di alleggerire MapReduce assumendosi la responsabilità della gestione delle risorse e della pianificazione dei lavori. YARN ha iniziato a dare ad Hadoop la possibilità di eseguire lavori non MapReduce all'interno del framework Hadoop.

somiglianze tra java e javascript

Puoi anche guardare il video qui sotto dove il nostro esperto sta discutendo i concetti di YARN e la sua architettura in dettaglio.

Tutorial sui filati Hadoop | Architettura del filato Hadoop | Edureka

Con l'introduzione di YARN, il è stato completamente rivoluzionato. È diventato molto più flessibile, efficiente e scalabile. Quando Yahoo è entrato in funzione con YARN nel primo trimestre del 2013, ha aiutato l'azienda a ridurre le dimensioni del suo cluster Hadoop da 40.000 nodi a 32.000 nodi. Ma il numero di posti di lavoro è raddoppiato a 26 milioni al mese.



Introduzione a Hadoop YARN

Ora che ti ho illustrato la necessità di YARN, lascia che ti presenti il ​​componente principale di Hadoop v2.0, FILATO . YARN consente diversi metodi di elaborazione dei dati come l'elaborazione di grafici, l'elaborazione interattiva, l'elaborazione di flussi e l'elaborazione in batch per eseguire ed elaborare i dati archiviati in HDFS. Pertanto YARN apre Hadoop ad altri tipi di applicazioni distribuite oltre a MapReduce.

YARN ha consentito agli utenti di eseguire operazioni secondo i requisiti utilizzando una varietà di strumenti come per l'elaborazione in tempo reale, Alveare per SQL, HBase per NoSQL e altri.

Oltre alla gestione delle risorse, YARN esegue anche la pianificazione dei lavori. YARN esegue tutte le tue attività di elaborazione allocando risorse e pianificando attività. L'architettura YARN di Apache Hadoop è costituita dai seguenti componenti principali:

  1. Resource Manager : Viene eseguito su un daemon master e gestisce l'allocazione delle risorse nel cluster.
  2. Node Manager: Vengono eseguiti sui daemon slave e sono responsabili dell'esecuzione di un'attività su ogni singolo Data Node.
  3. Master dell'applicazione: Gestisce il ciclo di vita del lavoro dell'utente e le esigenze di risorse delle singole applicazioni. Funziona insieme a Node Manager e monitora l'esecuzione delle attività.
  4. Contenitore: Pacchetto di risorse tra cui RAM, CPU, rete, HDD ecc. Su un singolo nodo.

Componenti di YARN

Puoi considerare YARN come il cervello del tuo ecosistema Hadoop. L'immagine sotto rappresenta l'architettura YARN.

Il primo componente di YARN Architecture è,

Resource Manager

  • È l'autorità ultima nell'allocazione delle risorse .
  • Alla ricezione delle richieste di elaborazione, trasmette parti delle richieste ai corrispondenti gestori del nodo di conseguenza, dove avviene l'effettiva elaborazione.
  • È l'arbitro delle risorse del cluster e decide l'allocazione delle risorse disponibili per le applicazioni concorrenti.
  • Ottimizza l'utilizzo del cluster mantenendo tutte le risorse in uso tutto il tempo contro vari vincoli come garanzie di capacità, equità e SLA.
  • Ha due componenti principali:a) Schedulerb)Gestore dell'applicazione

a) Scheduler

  • Lo scheduler è responsabile dell'allocazione delle risorse alle varie applicazioni in esecuzione soggette a vincoli di capacità, code ecc.
  • È chiamato scheduler puro in ResourceManager, il che significa che non esegue alcun monitoraggio o tracciamento dello stato delle applicazioni.
  • Se si verifica un errore dell'applicazione o un errore hardware, lo Scheduler non garantisce il riavvio delle attività non riuscite.
  • Esegue la pianificazione in base ai requisiti di risorse delle applicazioni.
  • Dispone di un plug-in di criteri collegabile, responsabile della partizione delle risorse del cluster tra le varie applicazioni. Esistono due di questi plug-in: Utilità di pianificazione della capacità e Fair Scheduler , attualmente utilizzati come utilità di pianificazione in ResourceManager.

b) Gestione applicazioni

  • È responsabile dell'accettazione delle proposte di lavoro.
  • Negozia il primo contenitore da Resource Manager per eseguire il master dell'applicazione specifico dell'applicazione.
  • Gestisce l'esecuzione dei master dell'applicazione in un cluster e fornisce il servizio per il riavvio del contenitore del master dell'applicazione in caso di errore.

Venendo al secondo componente che è:

Node Manager

  • Si prende cura dei singoli nodi in un cluster Hadoop egestisce i lavori degli utenti e il flusso di lavoro sul nodo specificato.
  • Si registra con Resource Manager e invia heartbeat con lo stato di integrità del nodo.
  • Il suo obiettivo principale è gestire i contenitori delle applicazioni ad esso assegnati dal gestore delle risorse.
  • Si tiene aggiornato con il Resource Manager.
  • Application Master richiede il container assegnato dal Node Manager inviandogli un Container Launch Context (CLC) che include tutto ciò di cui l'applicazione ha bisogno per essere eseguita. Il Node Manager crea il processo contenitore richiesto e lo avvia.
  • Monitora l'utilizzo delle risorse (memoria, CPU) dei singoli contenitori.
  • Esegue la gestione dei registri.
  • Inoltre uccide il contenitore come indicato dal Resource Manager.

Il terzo componente di Apache Hadoop YARN è,

Application Master
  • Una candidatura è un singolo lavoro presentato al framework. A ciascuna di queste applicazioni è associato un master dell'applicazione univoco che è un'entità specifica del framework.
  • È il processo che coordina l'esecuzione di un'applicazione nel cluster e gestisce anche gli errori.
  • Il suo compito è negoziare le risorse dal Resource Manager e lavorare con il Node Manager per eseguire e monitorare le attività dei componenti.
  • È responsabile della negoziazione dei contenitori di risorse appropriati dal ResourceManager, del monitoraggio del loro stato e del monitoraggio dei progressi.
  • Una volta avviato, invia periodicamente heartbeat al Resource Manager per confermarne lo stato e aggiornare il record delle sue richieste di risorse.

Il quarto componente è:

Contenitore
  • È una raccolta di risorse fisiche come RAM, core CPU e dischi su un singolo nodo.
  • I contenitori YARN sono gestiti da un contesto di lancio del contenitore che è il ciclo di vita del contenitore (CLC). Questo record contiene una mappa di variabili di ambiente, dipendenze archiviate in un archivio accessibile da remoto, token di sicurezza, payload per i servizi di Node Manager e il comando necessario per creare il processo.
  • Concede i diritti a un'applicazione per utilizzare una quantità specifica di risorse (memoria, CPU, ecc.) Su un host specifico.

Presentazione della domanda in YARN

Fare riferimento all'immagine e dare un'occhiata ai passaggi coinvolti nella presentazione della domanda di Hadoop YARN:

1) Invia il lavoro

2)Ottieni ID applicazione

3) Contesto di presentazione della domanda

4 a) Avvia contenitoreLanciare

b) Avvia Application Master

5) Allocare le risorse

converte oggetto in array php

6 a) Contenitore

b) Avvia

7) Esegui

Flusso di lavoro dell'applicazione in Hadoop YARN

Fare riferimento all'immagine fornita e vedere i seguenti passaggi coinvolti nel flusso di lavoro dell'applicazione di Apache Hadoop YARN:

  1. Il cliente invia una domanda
  2. Resource Manager alloca un contenitore per avviare Application Manager
  3. Application Manager si registra con Resource Manager
  4. Application Manager richiede contenitori da Resource Manager
  5. Application Manager notifica a Node Manager di avviare i contenitori
  6. Il codice dell'applicazione viene eseguito nel contenitore
  7. Il cliente contatta Resource Manager / Application Manager per monitorare lo stato dell'applicazione
  8. Application Manager annulla la registrazione con Resource Manager

Ora che conosci Apache Hadoop YARN, controlla il file da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione per la certificazione Edureka Big Data Hadoop aiuta gli studenti a diventare esperti in HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume e Sqoop utilizzando casi d'uso in tempo reale nel settore Retail, Social Media, Aviation, Tourism, Finance.

Hai domande per noi? Per favore menzionalo nella sezione commenti e ti risponderemo.