Hadoop YARN Tutorial - Lær grundlaget for YARN Architecture



Denne blog fokuserer på Apache Hadoop YARN, der blev introduceret i Hadoop version 2.0 til ressourcestyring og jobplanlægning. Det forklarer GARN-arkitekturen med dens komponenter og de opgaver, som hver af dem udfører. Den beskriver applikationsindgivelse og workflow i Apache Hadoop YARN.

Hadoop YARN strikker lagringsenheden på Hadoop dvs. HDFS (Hadoop Distribueret filsystem) med de forskellige behandlingsværktøjer. For de af jer, der er helt nye i dette emne, står YARN for ' Y og TIL ikke andet R esource N egoator ”. Jeg vil også foreslå, at du gennemgår vores og inden du går videre med at lære Apache Hadoop YARN. Jeg vil forklare følgende emner her for at sikre, at i slutningen af ​​denne blog er din forståelse af Hadoop YARN klar.

Hvorfor GARN?

I Hadoop version 1.0, som også kaldes MRV1 (MapReduce Version 1), udførte MapReduce både behandlings- og ressourcestyringsfunktioner. Den bestod af en Job Tracker, som var den eneste mester. Jobtracker tildelte ressourcerne, udførte planlægning og overvågede behandlingsjobberne. Det tildelte kort og reducerede opgaver på et antal underordnede processer kaldet Task Trackers. Task Trackers rapporterede med jævne mellemrum deres fremskridt til Job Tracker.





MapReduce Version 1.0 - Hadoop YARN - Edureka

Dette design resulterede i skalerbarhedsflaskehals på grund af en enkelt Job Tracker.IBM nævnte i sin artikel, at ifølge Yahoo! Nås de praktiske grænser for et sådant design med en klynge på 5000 noder og 40.000 opgaver, der kører samtidigt.Bortset fra denne begrænsning er anvendelsen af ​​beregningsressourcer ineffektiv i MRV1. Desuden blev Hadoop-rammen kun begrænset til MapReduce-behandlingsparadigme.



For at overvinde alle disse problemer blev YARN introduceret i Hadoop version 2.0 i år 2012 af Yahoo og Hortonworks. Den grundlæggende idé bag YARN er at aflaste MapReduce ved at overtage ansvaret for ressourcestyring og jobplanlægning. YARN begyndte at give Hadoop mulighed for at køre job, der ikke er MapReduce, inden for Hadoop-rammen.

Du kan også se nedenstående video, hvor vores ekspert diskuterer GARN-koncepter, og dets arkitektur er detaljeret.

Hadoop Garn Tutorial | Hadoop Garnarkitektur | Edureka

Med introduktionen af ​​GARN blev fuldstændig revolutioneret. Det blev meget mere fleksibelt, effektivt og skalerbart. Da Yahoo gik live med YARN i første kvartal af 2013, hjalp det virksomheden med at formindske størrelsen på sin Hadoop-klynge fra 40.000 noder til 32.000 noder. Men antallet af job fordobles til 26 millioner om måneden.



Introduktion til Hadoop GARN

Nu hvor jeg har oplyst dig om behovet for GARN, lad mig introducere dig til kernekomponenten i Hadoop v2.0, GARN . YARN tillader forskellige databehandlingsmetoder som grafbehandling, interaktiv behandling, streambehandling samt batchbehandling til at køre og behandle data gemt i HDFS. Derfor åbner YARN Hadoop for andre typer distribuerede applikationer ud over MapReduce.

YARN gjorde det muligt for brugerne at udføre operationer efter behov ved hjælp af en række forskellige værktøjer som f.eks til realtidsbehandling Hive til SQL, HBase til NoSQL og andre.

Bortset fra ressourcestyring udfører YARN også jobplanlægning. YARN udfører alle dine behandlingsaktiviteter ved at tildele ressourcer og planlægningsopgaver. Apache Hadoop YARN Architecture består af følgende hovedkomponenter:

  1. Ressource Manager : Kører på en masterdemon og administrerer ressourcetildelingen i klyngen.
  2. Node Manager: De kører på slave-dæmonerne og er ansvarlige for udførelsen af ​​en opgave på hver enkelt datanode.
  3. Ansøgning Master: Administrerer brugerjobs livscyklus og ressourcebehov for individuelle applikationer. Det fungerer sammen med Node Manager og overvåger udførelsen af ​​opgaver.
  4. Beholder: Pakke med ressourcer inklusive RAM, CPU, netværk, HDD osv. På en enkelt node.

Komponenter af garn

Du kan betragte GARN som hjernen i dit Hadoop-økosystem. Billedet nedenfor repræsenterer YARN Architecture.

Det første komponent af YARN Architecture er,

Ressource Manager

  • Det er den ultimative autoritet inden for ressourceallokering .
  • Ved modtagelse af behandlingsanmodningerne sender den dele af anmodninger til tilsvarende nodeadministratorer i overensstemmelse hermed, hvor den aktuelle behandling finder sted.
  • Det er voldgiftsdommeren for klyngeressourcerne og beslutter tildelingen af ​​de tilgængelige ressourcer til konkurrerende applikationer.
  • Optimerer klyngeudnyttelsen som at holde alle ressourcer i brug hele tiden mod forskellige begrænsninger såsom kapacitetsgarantier, retfærdighed og SLA'er.
  • Det har to hovedkomponenter:a) Planlægningb)Application Manager

a) Planlægning

  • Planlæggeren er ansvarlig for at allokere ressourcer til de forskellige kørende applikationer underlagt begrænsninger i kapacitet, køer osv.
  • Det kaldes en ren planlægning i ResourceManager, hvilket betyder, at den ikke udfører nogen overvågning eller sporing af status for applikationerne.
  • Hvis der er en applikationsfejl eller hardwarefejl, garanterer Planlæggeren ikke at genstarte de mislykkede opgaver.
  • Udfører planlægning baseret på ressourcekravene til applikationerne.
  • Det har en plug-in-politik-plug-in, som er ansvarlig for at opdele klyngeressourcerne blandt de forskellige applikationer. Der er to sådanne plug-ins: Kapacitetsplanlægning og Fair Scheduler , der i øjeblikket bruges som planlæggere i ResourceManager.

b) Application Manager

  • Det er ansvarligt for at acceptere jobindleveringer.
  • Forhandler den første container fra Resource Manager til udførelse af den applikationsspecifikke Application Master.
  • Administrerer kørsel af Application Masters i en klynge og leverer service til genstart af Application Master-containeren ved fejl.

Kommer til anden komponent som er:

Node Manager

  • Det tager sig af individuelle noder i en Hadoop-klynge ogadministrerer brugerjob og workflow på den givne node.
  • Det registreres hos Resource Manager og sender hjerterytme med knudens helbredstilstand.
  • Dets primære mål er at administrere applikationscontainere, der er tildelt af ressourceadministratoren.
  • Det holder sig ajour med Resource Manager.
  • Application Master anmoder den tildelte container fra Node Manager ved at sende den en Container Launch Context (CLC), der inkluderer alt, hvad applikationen har brug for for at køre. Node Manager opretter den anmodede containerproces og starter den.
  • Overvåger ressourceforbrug (hukommelse, CPU) for individuelle containere.
  • Udfører loghåndtering.
  • Det dræber også containeren som anvist af Ressource Manager.

Det tredje komponent af Apache Hadoop GARN er,

Ansøgning Master
  • En ansøgning er et enkelt job indsendt til rammen. Hver sådan applikation har en unik Application Master tilknyttet, som er en rammespecifik enhed.
  • Det er processen, der koordinerer en applikations udførelse i klyngen og også håndterer fejl.
  • Dens opgave er at forhandle ressourcer fra Resource Manager og arbejde med Node Manager for at udføre og overvåge komponentopgaverne.
  • Det er ansvarligt for at forhandle passende ressourcecontainere fra ResourceManager, spore deres status og overvåge fremskridt.
  • Når det er startet, sender det med jævne mellemrum hjerterytme til Resource Manager for at bekræfte dets helbred og for at opdatere registreringen af ​​sine ressourcebehov.

Det fjerde komponent er:

Beholder
  • Det er en samling af fysiske ressourcer som RAM, CPU-kerner og diske på en enkelt node.
  • YARN containere styres af en container lanceringskontekst, der er container livscyklus (CLC). Denne post indeholder et kort over miljøvariabler, afhængigheder, der er gemt i et eksternt tilgængeligt lager, sikkerhedstokener, nyttelast til Node Manager-tjenester og den nødvendige kommando for at oprette processen.
  • Det giver rettigheder til en applikation til at bruge en bestemt mængde ressourcer (hukommelse, CPU osv.) På en bestemt vært.

Ansøgning indsendelse i garn

Se billedet og se de trin, der er involveret i ansøgning om Hadoop YARN:

1) Indsend jobbet

2)Få applikations-id

3) Kontekst til ansøgning

4 a) Start beholderenStart

b) Start applikationsmasteren

dele af et java-program

5) Tildel ressourcer

6 a) Beholder

b) Start

7) Udfør

Application Workflow i Hadoop GARN

Se det givne billede og se de følgende trin involveret i applikationsarbejdsprocessen for Apache Hadoop YARN:

  1. Kunden indsender en ansøgning
  2. Resource Manager tildeler en container til at starte Application Manager
  3. Application Manager registrerer sig hos Resource Manager
  4. Application Manager spørger containere fra Resource Manager
  5. Application Manager underretter Node Manager om at starte containere
  6. Applikationskode udføres i containeren
  7. Klienten kontakter Ressource Manager / Application Manager for at overvåge applikationens status
  8. Application Manager afregistrerer sig hos Resource Manager

Nu hvor du kender Apache Hadoop GARN, skal du tjekke af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Edureka Big Data Hadoop-certificeringskursus hjælper elever med at blive eksperter i HDFS, Garn, MapReduce, Pig, Hive, HBase, Oozie, Flume og Sqoop ved hjælp af realtidsanvendelsessager på Retail, Social Media, Aviation, Tourism, Finance domæne.

Har du et spørgsmål til os? Nævn det i kommentarfeltet, og vi vender tilbage til dig.