Hadoop YARN-zelfstudie - Leer de grondbeginselen van YARN-architectuur



Deze blog richt zich op Apache Hadoop YARN dat werd geïntroduceerd in Hadoop versie 2.0 voor resource management en taakplanning. Het legt de YARN-architectuur uit met zijn componenten en de taken die door elk van hen worden uitgevoerd. Het beschrijft de indiening van applicaties en de workflow in Apache Hadoop YARN.

Hadoop YARN combineert de opslageenheid van Hadoop, d.w.z. HDFS (Hadoop Distributed File System) met de verschillende verwerkingshulpmiddelen. Voor degenen onder jullie die helemaal nieuw zijn in dit onderwerp, staat YARN voor ' Y en NAAR niet R esource N egotiator ”. Ik zou ook willen voorstellen dat u onze en voordat je verder gaat met het leren van Apache Hadoop YARN. Ik zal hier de volgende onderwerpen uitleggen om ervoor te zorgen dat aan het einde van deze blog uw begrip van Hadoop YARN duidelijk is.

Waarom YARN?

In Hadoop-versie 1.0, ook wel MRV1 (MapReduce-versie 1) genoemd, voerde MapReduce zowel verwerkings- als resourcebeheerfuncties uit. Het bestond uit een Job Tracker die de enige master was. De Job Tracker wees de middelen toe, voerde de planning uit en bewaakte de verwerkingsopdrachten. Het wees kaart toe en reduceerde taken op een aantal ondergeschikte processen, de Task Trackers genaamd. De Task Trackers rapporteerden periodiek hun voortgang aan de Job Tracker.





MapReduce versie 1.0 - Hadoop YARN - Edureka

Dit ontwerp resulteerde in een bottleneck op het gebied van schaalbaarheid vanwege een enkele Job Tracker.IBM vermeldde in zijn artikel dat volgens Yahoo! De praktische limieten van een dergelijk ontwerp worden bereikt met een cluster van 5000 knooppunten en 40.000 taken die gelijktijdig worden uitgevoerd.Afgezien van deze beperking is het gebruik van computationele bronnen in MRV1 inefficiënt. Ook werd het Hadoop-framework alleen beperkt tot het MapReduce-verwerkingsparadigma.



Om al deze problemen op te lossen, werd YARN in 2012 door Yahoo en Hortonworks geïntroduceerd in Hadoop versie 2.0. Het basisidee achter YARN is om MapReduce te ontzorgen door de verantwoordelijkheid van Resource Management en Job Scheduling over te nemen. YARN begon Hadoop de mogelijkheid te geven om niet-MapReduce-taken uit te voeren binnen het Hadoop-framework.

Je kunt ook de onderstaande video bekijken waar onze expert bespreekt YARN-concepten en de architectuur in detail.

Hadoop-garen-zelfstudie | Hadoop Yarn Architecture | Edureka

Met de introductie van YARN, de was volledig revolutionair. Het werd veel flexibeler, efficiënter en schaalbaarder. Toen Yahoo in het eerste kwartaal van 2013 live ging met YARN, hielp het het bedrijf om de omvang van zijn Hadoop-cluster te verkleinen van 40.000 knooppunten tot 32.000 knooppunten. Maar het aantal banen verdubbelde tot 26 miljoen per maand.



Introductie tot Hadoop YARN

Nu ik je heb geïnformeerd over de behoefte aan YARN, wil ik je kennis laten maken met de kerncomponent van Hadoop v2.0, GAREN . YARN maakt verschillende gegevensverwerkingsmethoden mogelijk, zoals grafische verwerking, interactieve verwerking, stroomverwerking en batchverwerking om gegevens die zijn opgeslagen in HDFS uit te voeren en te verwerken. Daarom stelt YARN Hadoop open voor andere soorten gedistribueerde applicaties buiten MapReduce.

YARN stelde de gebruikers in staat om bewerkingen uit te voeren volgens de vereisten door een verscheidenheid aan tools te gebruiken, zoals voor realtime verwerking, Bijenkorf voor SQL, HBase voor NoSQL en anderen.

Naast Resource Management voert YARN ook Job Scheduling uit. YARN voert al uw verwerkingsactiviteiten uit door middelen toe te wijzen en taken te plannen. Apache Hadoop YARN-architectuur bestaat uit de volgende hoofdcomponenten:

  1. Bronbeheer : Draait op een hoofddaemon en beheert de toewijzing van bronnen in het cluster.
  2. Node Manager: Ze draaien op de slaafdaemons en zijn verantwoordelijk voor de uitvoering van een taak op elk afzonderlijk gegevensknooppunt.
  3. Toepassingsmeester: Beheert de levenscyclus van de gebruiker en de resourcebehoeften van individuele applicaties. Het werkt samen met de Node Manager en bewaakt de uitvoering van taken.
  4. Container: Pakket met bronnen inclusief RAM, CPU, netwerk, HDD enz. Op één knooppunt.

Onderdelen van YARN

U kunt YARN beschouwen als het brein van uw Hadoop-ecosysteem. De onderstaande afbeelding geeft de YARN-architectuur weer.

De eerste component van YARN Architecture is,

Bronbeheer

  • Het is de ultieme autoriteit bij het toewijzen van middelen .
  • Bij ontvangst van de verwerkingsverzoeken, stuurt het delen van verzoeken dienovereenkomstig door naar overeenkomstige knooppuntbeheerders, waar de feitelijke verwerking plaatsvindt.
  • Het is de arbiter van de clusterbronnen en beslist over de toewijzing van de beschikbare middelen voor concurrerende aanvragen.
  • Optimaliseert het gebruik van het cluster door alle resources altijd in gebruik te houden tegen verschillende beperkingen, zoals capaciteitsgaranties, eerlijkheid en SLA's.
  • Het heeft twee hoofdcomponenten:a) Schedulerb)Applicatie Manager

a) Scheduler

  • De planner is verantwoordelijk voor het toewijzen van bronnen aan de verschillende actieve applicaties, onderhevig aan beperkingen van capaciteiten, wachtrijen enz.
  • Het wordt een pure scheduler genoemd in ResourceManager, wat betekent dat het geen enkele monitoring of tracking van de status van de applicaties uitvoert.
  • Als er een toepassingsfout of hardwarefout is, kan de Scheduler niet garanderen dat de mislukte taken opnieuw worden gestart.
  • Voert planning uit op basis van de resourcevereisten van de applicaties.
  • Het heeft een plug-in beleidsplug-in, die verantwoordelijk is voor het verdelen van de clusterbronnen over de verschillende toepassingen. Er zijn twee van dergelijke plug-ins: Capaciteitsplanner en Eerlijke planner , die momenteel worden gebruikt als Schedulers in ResourceManager.

b) Applicatiebeheerder

  • Het is verantwoordelijk voor het accepteren van vacatures.
  • Onderhandelt over de eerste container van de Resource Manager voor het uitvoeren van de applicatiespecifieke Application Master.
  • Beheert het uitvoeren van de Application Master in een cluster en biedt service voor het herstarten van de Application Master-container bij een storing.

Komt naar de tweede component dat is:

Node Manager

  • Het zorgt voor individuele knooppunten in een Hadoop-cluster enbeheert gebruikerstaken en workflow op het gegeven knooppunt.
  • Het registreert zich bij de Resource Manager en verzendt hartslagen met de gezondheidsstatus van het knooppunt.
  • Het primaire doel is om applicatiecontainers te beheren die eraan zijn toegewezen door de resource manager.
  • Het blijft up-to-date met de Resource Manager.
  • Application Master vraagt ​​de toegewezen container aan bij de Node Manager door deze een Container Launch Context (CLC) te sturen die alles bevat wat de applicatie nodig heeft om te kunnen draaien. De Node Manager maakt het gevraagde containerproces en start het.
  • Bewaakt het resourcegebruik (geheugen, CPU) van individuele containers.
  • Voert logboekbeheer uit.
  • Het doodt ook de container zoals aangegeven door de Resource Manager.

De derde component van Apache Hadoop YARN is,

Applicatie Master
  • Een aanvraag is een enkele taak die bij het raamwerk wordt ingediend. Aan elk van deze applicaties is een unieke Application Master gekoppeld, die een raamwerkspecifieke entiteit is.
  • Het is het proces dat de uitvoering van een applicatie in het cluster coördineert en ook fouten beheert.
  • Het is zijn taak om te onderhandelen over bronnen van de Resource Manager en samen te werken met de Node Manager om de componenttaken uit te voeren en te controleren.
  • Het is verantwoordelijk voor het onderhandelen over geschikte resourcecontainers vanuit de ResourceManager, het volgen van hun status en het bewaken van de voortgang.
  • Eenmaal gestart, stuurt het periodiek heartbeats naar de Resource Manager om zijn gezondheid te bevestigen en om het record van zijn resourcevereisten bij te werken.

De vierde component is:

Container
  • Het is een verzameling fysieke bronnen zoals RAM, CPU-kernen en schijven op één knooppunt.
  • YARN-containers worden beheerd door een containerlanceringscontext die de levenscyclus van een container (CLC) is. Dit record bevat een kaart met omgevingsvariabelen, afhankelijkheden die zijn opgeslagen in een op afstand toegankelijke opslag, beveiligingstokens, payload voor Node Manager-services en de opdracht die nodig is om het proces te creëren.
  • Het verleent rechten aan een toepassing om een ​​bepaalde hoeveelheid bronnen (geheugen, CPU enz.) Op een specifieke host te gebruiken.

Aanvraag indienen in YARN

Raadpleeg de afbeelding en bekijk de stappen die betrokken zijn bij het indienen van een aanvraag voor Hadoop YARN:

1) Dien de vacature in

2)Vraag applicatie-ID op

het omzetten van string tot nu toe in java

3) Context van het indienen van aanvragen

4 a) Container startenLancering

b) Start Application Master

5) Wijs middelen toe

6 a) Container

b) Lancering

7) Uitvoeren

Applicatieworkflow in Hadoop YARN

Raadpleeg de gegeven afbeelding en bekijk de volgende stappen die betrokken zijn bij de toepassingsworkflow van Apache Hadoop YARN:

  1. Klant dient een aanvraag in
  2. Resource Manager wijst een container toe om Application Manager te starten
  3. Application Manager registreert zich bij Resource Manager
  4. Application Manager vraagt ​​containers van Resource Manager
  5. Application Manager waarschuwt Node Manager om containers te starten
  6. Applicatiecode wordt uitgevoerd in de container
  7. De klant neemt contact op met Resource Manager / Application Manager om de status van de applicatie te controleren
  8. Application Manager maakt de registratie bij Resource Manager ongedaan

Nu je Apache Hadoop YARN kent, kun je het door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. De Edureka Big Data Hadoop-certificeringstraining helpt leerlingen expert te worden in HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume en Sqoop met behulp van real-time use cases op het gebied van Retail, Social Media, Aviation, Tourism, Finance.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte en we nemen contact met u op.