Introduktion til Hadoop YARN Architecture
MapReduce blev brugt til at udføre både ressourcestyring og behandling i den tidligere Hadoop version 1.0. Her udførte Job Tracker ressourcetildeling, planlægning og overvågning af job ved at tildele kort og reducere opgaver til Task Tracker. Dette resulterede i spørgsmål som skalerbarhed, ineffektiv ressourceudnyttelse. Da Hadoop-rammen har gennemgået adskillige ændringer gennem årene; Vi kan se, at det kan bruges til at udføre meget mere end kun at køre MapReduce-job. YARN står for Yet Another Resource Negotiator, der kaldes Haduster cluster management system, som blev introduceret med Hadoop 2.0 for at understøtte distribueret computing, som også forbedrer implementeringen af MapReduce. I YARN er ressourceadministratoren og planlæggerne eksterne for rammen. Så i YARN, selvom vi har datanoder, er der ikke længere Task Trackers eller Job Trackers. Også med YARN kan vi have ressourcestyring såvel som generisk planlægning. I dette emne skal vi lære om den forskellige arkitektur af YARN
Forklar Hadoop YARN-arkitektur med diagram
(Arkitektur af Hadoop YARN)
YARN introducerer konceptet med en ressource manager og en applikationsmaster i Hadoop 2.0. Ressourcemanageren ser brugen af ressourcerne på tværs af Hadoop-klyngen, mens livscyklussen for de applikationer, der kører på en bestemt klynge, overvåges af Application Master. Grundlæggende kan vi sige, at for klyngeressourcer forhandler Application Master med Resource Manager. Denne opgave udføres af containerne, der har bestemte hukommelsesbegrænsninger. Derefter bruges disse containere til at køre de applikationsspecifikke processer, og også disse containere overvåges af Node Managers, der kører på knudepunkter i klyngen. Dette vil bekræfte, at ikke mere end de tildelte ressourcer bruges af applikationen.
Forskellige komponenter af YARN
Nedenfor er de forskellige komponenter i YARN.
1) Ressource Manager
YARN fungerer gennem en Resource Manager, som er en pr. Knude, og Node Manager, der kører på alle noder. Ressourcehåndtereren administrerer de ressourcer, der bruges på tværs af klyngen, og Node Manager-frokosten og overvåger containerne. Scheduler og Application Manager er to komponenter i Resource Manager.
- Planlægning : Planlægning udføres baseret på kravet om ressourcer fra applikationerne. YARN giver få planlægninger at vælge imellem, og de er Fair and Capacity Scheduler. I tilfælde af hardware- eller applikationsfejl, sikrer Scheduler ikke, at de mislykkede opgaver genstartes. Scheduler tildeler også ressourcer til de kørende applikationer baseret på kapacitet og kø.
- Application Manager : Det administrerer kørslen af Application Master i en klynge, og hvis fejlen med Application Master Container, hjælper det med at genstarte det. Det bærer også ansvaret for at acceptere indsendelsen af jobene.
2) Node Manager
Node Manager er ansvarlig for udførelsen af opgaven i hver dataknudepunkt. Node Manager i YARN sender som standard et hjerteslag til Resource Manager, der bærer information om de kørende containere og angående tilgængeligheden af ressourcer til de nye containere. Det er ansvarligt for at sørge for noder i klyngen individuelt og administrere arbejdsgang og brugerjob på en bestemt knude. Det styrer hovedsageligt applikationscontainerne, der er tildelt af ressourceadministratoren. Node Manager starter beholderne ved at oprette de beholderprocesser, der anmodes om, og den dræber også containerne som anmodet af Resource Manager.
3) Beholdere
Containerne er sæt ressourcer som RAM, CPU og hukommelse osv. På en enkelt knude, og de er planlagt af Resource Manager og overvåges af Node Manager. Container-livscyklus administrerer YARN-containerne ved hjælp af containerstartkontekst og giver adgang til applikationen til den specifikke brug af ressourcer i en bestemt vært.
4) Ansøgning Master
Det overvåger udførelsen af opgaver og administrerer også livscyklussen for applikationer, der kører på klyngen. En individuel ansøgning Master bliver tilknyttet et job, når det indsendes til rammen. Dets hovedansvar er at forhandle om ressourcerne fra Resource Manager. Det fungerer med Node Manager til at overvåge og udføre opgaverne.
For at køre en applikation gennem YARN udføres nedenstående trin.
- Klienten kontakter Resource Manager, der anmoder om at køre ansøgningsprocessen, dvs. den sender YARN-applikationen.
- Det næste trin er, at Resource Manager søger efter en Node Manager, der på sin side vil starte Application Master i en container.
- Application Master kan enten køre eksekveringen i den container, som den kører i øjeblikket, og give resultatet til klienten, eller den kan anmode om flere containere fra resource manager, som kan kaldes distribueret computing.
- Klienten kontakter derefter Resource Manager for at overvåge status for applikationen.
Med MapReduce i Hadoop version 1.0 (MRV1) blev antallet af kort og reduceringsvinduer defineret pr. Node. Også i en Hadoop-klynge, da hardwarefunktionerne varierede, og antallet af opgaver på en bestemt knude skulle begrænses manuelt. Men med YARN overvindes denne mangel, fordi her kender Resource Manager kapaciteten for hver knude, når den kommunikerer med Node Manager, der kører på hver knude.
Konklusion - Hadoop YARN Architecture
YARN hjælper med at overvinde skalerbarhedsproblemet af MapReduce i Hadoop 1.0, da det opdeler Job Tracker's arbejde, både med jobplanlægning og overvågning af opgaverne. Spørgsmålet om tilgængelighed overvindes også, da Job Tracker-fiaskoen tidligere førte til Hadoop 1.0 førte til genstart af opgaver. YARN kom med mange ekstra bonusser, såsom bedre ressourceudnyttelse, da der ikke er nogen fast slot til opgaver, da det giver central ressourcestyring. Så med YARN overvindes mange af de problemer, der står over for i den tidligere version af Hadoop, da det hjælper med at adskille databehandlingen fra planlægning og ressourcestyring. Med YARN er det muligt at køre interaktive forespørgsler uafhængigt såvel som at give bedre realtidsanalyse.
Anbefalede artikler
Dette har været en guide til Hadoop YARN Architecture. Her diskuterer vi de forskellige komponenter i YARN, der inkluderer Resource Manager, Node Manager og Containere sammen med Arkitekturen. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -
- Apache Hadoop økosystem
- Hadoop økosystemkomponenter
- Hadoop-komponenter
- Hadoop økosystem