Hadoop YARN Tutorial - Aflați noțiunile fundamentale ale arhitecturii YARN



Acest blog se concentrează pe Apache Hadoop YARN, care a fost introdus în versiunea 2.0 Hadoop pentru gestionarea resurselor și programarea locurilor de muncă. Acesta explică arhitectura YARN cu componentele sale și sarcinile îndeplinite de fiecare dintre ele. Descrie trimiterea aplicației și fluxul de lucru în Apache Hadoop YARN.

Hadoop YARN tricotează unitatea de stocare a Hadoop, adică HDFS (Hadoop Distributed File System) cu diferite instrumente de procesare. Pentru cei dintre voi care sunt complet noi la acest subiect, YARN înseamnă „ Da și LA nother R esursa N egoiator ”. Aș sugera, de asemenea, să treceți prin intermediul nostru și înainte de a continua cu învățarea Apache Hadoop YARN. Voi explica următoarele subiecte aici pentru a mă asigura că la sfârșitul acestui blog înțelegerea dvs. despre Hadoop YARN este clară.

De ce YARN?

În versiunea 1.0 Hadoop, care este, de asemenea, denumită MRV1 (MapReduce Versiunea 1), MapReduce a îndeplinit funcții de procesare și de gestionare a resurselor. A constat dintr-un Job Tracker care era singurul maestru. Job Tracker a alocat resursele, a efectuat programarea și a monitorizat lucrările de procesare. A atribuit maparea și reducerea sarcinilor pe un număr de procese subordonate numite Task Trackers. Task Trackers și-au raportat periodic progresul la Job Tracker.





MapReduce Versiunea 1.0 - Hadoop YARN - Edureka

Acest design a dus la blocarea scalabilității datorită unui singur Job Tracker.IBM a menționat în articolul său că, conform Yahoo !, limitele practice ale unui astfel de design sunt atinse cu un cluster de 5000 de noduri și 40.000 de sarcini care rulează simultan.În afară de această limitare, utilizarea resurselor de calcul este ineficientă în MRV1. De asemenea, cadrul Hadoop a devenit limitat doar la paradigma de procesare MapReduce.



Pentru a depăși toate aceste probleme, YARN a fost introdus în versiunea 2.0 Hadoop în anul 2012 de Yahoo și Hortonworks. Ideea de bază din spatele YARN este de a ușura MapReduce prin preluarea responsabilității de gestionare a resurselor și de programare a locurilor de muncă. YARN a început să ofere Hadoop capacitatea de a rula lucrări non-MapReduce în cadrul Hadoop.

Puteți viziona, de asemenea, videoclipul de mai jos, unde se află expertul discută în detaliu conceptele YARN și arhitectura sa.

Tutorial Hadoop Yarn | Hadoop Yarn Architecture | Edureka

Odată cu introducerea YARN, a fost complet revoluționat. A devenit mult mai flexibil, eficient și scalabil. Când Yahoo a început să lucreze cu YARN în primul trimestru al anului 2013, a ajutat compania să micșoreze dimensiunea clusterului său Hadoop de la 40.000 noduri la 32.000 noduri. Dar numărul locurilor de muncă s-a dublat la 26 de milioane pe lună.



Introducere în Hadoop YARN

Acum, că v-am luminat cu nevoia de YARN, permiteți-mi să vă prezint componenta de bază a Hadoop v2.0, YARN . YARN permite diferite metode de procesare a datelor, cum ar fi procesarea graficelor, procesarea interactivă, procesarea fluxului, precum și procesarea în serie, pentru a rula și prelucra datele stocate în HDFS. Prin urmare, YARN deschide Hadoop către alte tipuri de aplicații distribuite dincolo de MapReduce.

YARN le-a permis utilizatorilor să efectueze operațiuni conform cerințelor utilizând o varietate de instrumente cum ar fi pentru procesare în timp real, Stup pentru SQL, HBase pentru NoSQL și altele.

excepție pointer nul în programul de exemplu java

În afară de gestionarea resurselor, YARN efectuează și programarea locurilor de muncă. YARN realizează toate activitățile de procesare prin alocarea resurselor și programarea sarcinilor. Arhitectura Apache Hadoop YARN constă din următoarele componente principale:

  1. Manager de resurse : Rulează pe un daemon master și gestionează alocarea resurselor în cluster.
  2. Manager nod: Ei rulează pe demonii sclavi și sunt responsabili pentru executarea unei sarcini pe fiecare nod de date.
  3. Aplicație Master: Gestionează ciclul de viață al utilizatorului și nevoile de resurse ale aplicațiilor individuale. Funcționează împreună cu Node Manager și monitorizează executarea sarcinilor.
  4. Container: Pachet de resurse, inclusiv RAM, CPU, rețea, HDD etc. pe un singur nod.

Componentele YARN

Puteți considera YARN ca fiind creierul ecosistemului dvs. Hadoop. Imaginea de mai jos reprezintă arhitectura YARN.

prima componentă of YARN Architecture este,

Manager de resurse

  • Este autoritatea supremă în alocarea resurselor .
  • La primirea cererilor de procesare, acesta transmite părți din cereri managerilor de noduri corespunzătoare în consecință, acolo unde are loc procesarea efectivă.
  • Este arbitrul resurselor cluster și decide alocarea resurselor disponibile pentru aplicațiile concurente.
  • Optimizează utilizarea clusterului, cum ar fi păstrarea în permanență a tuturor resurselor împotriva diferitelor constrângeri, cum ar fi garanțiile de capacitate, corectitudinea și SLA-urile.
  • Are două componente majore:a) Programatorb)Manager de aplicatii

a) Programator

  • Planificatorul este responsabil pentru alocarea resurselor diferitelor aplicații care rulează, sub rezerva constrângerilor de capacități, cozi etc.
  • Acesta este numit programator pur în ResourceManager, ceea ce înseamnă că nu efectuează nicio monitorizare sau urmărire a stării aplicațiilor.
  • Dacă există o eroare a aplicației sau o eroare hardware, programatorul nu garantează repornirea sarcinilor eșuate.
  • Efectuează programarea pe baza cerințelor de resurse ale aplicațiilor.
  • Are un plug-in de politică conectabil, care este responsabil pentru partiționarea resurselor clusterului între diferitele aplicații. Există două astfel de plug-in-uri: Programator de capacitate și Programator corect , care sunt utilizate în prezent ca Planificatori în ResourceManager.

b) Manager de aplicații

  • Este responsabil pentru acceptarea trimiterilor de locuri de muncă.
  • Negociază primul container de la Resource Manager pentru executarea aplicației Master Application specifice.
  • Gestionează rularea Application Masters într-un cluster și oferă servicii pentru repornirea containerului Application Master în caz de eșec.

Venind la a doua componentă care este:

Manager nod

  • Se ocupă de nodurile individuale dintr-un cluster Hadoop șigestionează joburile utilizatorului și fluxul de lucru pe nodul dat.
  • Se înregistrează la Resource Manager și trimite bătăi de inimă cu starea de sănătate a nodului.
  • Obiectivul său principal este de a gestiona containerele de aplicații care i-au fost atribuite de managerul de resurse.
  • Se ține la curent cu Resource Manager.
  • Application Master solicită containerul atribuit de la Node Manager, trimițându-i un Container Launch Context (CLC) care include tot ce are nevoie aplicația pentru a rula. Managerul de noduri creează procesul de container solicitat și îl pornește.
  • Monitorizează utilizarea resurselor (memorie, procesor) a containerelor individuale.
  • Efectuează gestionarea jurnalului.
  • De asemenea, ucide containerul conform instrucțiunilor Resource Manager.

a treia componentă din Apache Hadoop YARN este,

ce este acest operator în java
Aplicație Master
  • O cerere este un singur job trimis în cadrul. Fiecare astfel de aplicație are un Master Application unic asociat, care este o entitate specifică cadrului.
  • Este procesul care coordonează execuția unei aplicații în cluster și, de asemenea, gestionează defecțiunile.
  • Sarcina sa este de a negocia resurse de la Resource Manager și de a colabora cu Node Manager pentru a executa și monitoriza sarcinile componente.
  • Este responsabil pentru negocierea containerelor de resurse adecvate de la ResourceManager, urmărirea stării acestora și monitorizarea progresului.
  • Odată început, trimite periodic bătăi de inimă către Resource Manager pentru a-și confirma starea de sănătate și pentru a actualiza evidența cererilor sale de resurse.

componenta a patra este:

Recipient
  • Este o colecție de resurse fizice precum RAM, nuclee CPU și discuri pe un singur nod.
  • Containerele YARN sunt gestionate de un context de lansare a containerului care este ciclul de viață al containerului (CLC). Această înregistrare conține o hartă a variabilelor de mediu, dependențe stocate într-un spațiu de stocare accesibil de la distanță, jetoane de securitate, sarcină utilă pentru serviciile Node Manager și comanda necesară pentru a crea procesul.
  • Acordă drepturi unei aplicații de a utiliza o anumită cantitate de resurse (memorie, CPU etc.) pe o anumită gazdă.

Depunerea cererii în YARN

Consultați imaginea și aruncați o privire la pașii implicați în depunerea cererii Hadoop YARN:

1) Trimiteți jobul

2)Obțineți ID-ul aplicației

3) Contextul depunerii cererii

4 a) Porniți ContainerLansa

b) Lansați aplicația Master

5) Alocați resurse

6 a) Container

b) Lansați

funcția de membru static c ++

7) Executați

Fluxul de lucru al aplicației în Hadoop YARN

Consultați imaginea dată și vedeți următorii pași implicați în fluxul de lucru al aplicației Apache Hadoop YARN:

  1. Clientul trimite o cerere
  2. Resource Manager alocă un container pentru a porni Application Manager
  3. Application Manager se înregistrează la Resource Manager
  4. Managerul de aplicații solicită containere de la Resource Manager
  5. Managerul de aplicații notifică Managerul de noduri pentru a lansa containere
  6. Codul aplicației este executat în container
  7. Clientul contactează Resource Manager / Application Manager pentru a monitoriza starea aplicației
  8. Managerul de aplicații se înregistrează cu Resource Manager

Acum că știți Apache Hadoop YARN, verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul Edureka Big Data Hadoop Certification Training îi ajută pe cursanți să devină experți în HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume și Sqoop folosind cazuri de utilizare în timp real în domeniul Retail, Social Media, Aviație, Turism, Finanțe.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii și vă vom răspunde.