Hadoop YARN Tutorial - Lær grunnleggende om YARN Architecture



Denne bloggen fokuserer på Apache Hadoop YARN som ble introdusert i Hadoop versjon 2.0 for ressursadministrasjon og jobbplanlegging. Den forklarer Garnarkitekturen med dens komponenter og pliktene som hver av dem utfører. Den beskriver søknadsinnlevering og arbeidsflyt i Apache Hadoop YARN.

Hadoop YARN strikker lagringsenheten til Hadoop, dvs. HDFS (Hadoop Distributed File System) med de forskjellige behandlingsverktøyene. For de av dere som er helt nye i dette emnet, står YARN for “ Y og TIL ikke annet R ressurs N egoator ”. Jeg vil også foreslå at du går gjennom og før du går videre med å lære Apache Hadoop GARN. Jeg vil forklare følgende emner her for å sikre at på slutten av denne bloggen din forståelse av Hadoop Garn er klar.

Hvorfor GARN?

I Hadoop versjon 1.0 som også er referert til som MRV1 (MapReduce versjon 1), utførte MapReduce både prosesserings- og ressursadministrasjonsfunksjoner. Den besto av en Job Tracker som var enkeltmesteren. Jobbsporeren tildelte ressursene, utførte planlegging og overvåket behandlingsjobbene. Det tildelte kart og reduserte oppgaver på en rekke underordnede prosesser kalt Task Trackers. Oppgavesporerne rapporterte med jevne mellomrom fremdriften til Job Tracker.





MapReduce Versjon 1.0 - Hadoop YARN - Edureka

Denne designen resulterte i skalerbarhetsflaskehals på grunn av en enkelt Job Tracker.IBM nevnte i sin artikkel at ifølge Yahoo! Nås de praktiske grensene for et slikt design med en klynge på 5000 noder og 40 000 oppgaver som kjører samtidig.Bortsett fra denne begrensningen, er bruken av beregningsressurser ineffektiv i MRV1. Hadoop-rammeverket ble også bare begrenset til MapReduce-behandlingsparadigme.



For å overvinne alle disse problemene ble YARN introdusert i Hadoop versjon 2.0 i år 2012 av Yahoo og Hortonworks. Den grunnleggende ideen bak YARN er å avlaste MapReduce ved å overta ansvaret for Ressursadministrasjon og Jobbplanlegging. YARN begynte å gi Hadoop muligheten til å kjøre jobber som ikke er MapReduce innenfor Hadoop-rammen.

Du kan også se videoen nedenfor der vår ekspert diskuterer GARN-konsepter og arkitekturen i detalj.

Hadoop Garnopplæring | Hadoop Garnarkitektur | Edureka

Med introduksjonen av GARN, ble ble fullstendig revolusjonert. Det ble mye mer fleksibelt, effektivt og skalerbart. Da Yahoo gikk live med YARN i første kvartal 2013, hjalp det selskapet til å krympe størrelsen på Hadoop-klyngen fra 40 000 noder til 32 000 noder. Men antall jobber doblet til 26 millioner per måned.



Introduksjon til Hadoop GARN

Nå som jeg har opplyst deg om behovet for GARN, la meg introdusere deg for kjernekomponenten i Hadoop v2.0, GARN . YARN tillater forskjellige databehandlingsmetoder som grafbehandling, interaktiv behandling, strømbehandling samt batchbehandling for å kjøre og behandle data lagret i HDFS. Derfor åpner YARN Hadoop for andre typer distribuerte applikasjoner utover MapReduce.

YARN gjorde det mulig for brukerne å utføre operasjoner etter behov ved å bruke en rekke verktøy som for sanntidsbehandling, Hive for SQL, HBase for NoSQL og andre.

Bortsett fra Ressursadministrasjon, utfører YARN også Job Scheduling. YARN utfører alle behandlingsaktivitetene dine ved å tildele ressurser og planlegge oppgaver. Apache Hadoop YARN Architecture består av følgende hovedkomponenter:

  1. Ressurssjef : Kjører på en masterdemon og administrerer ressurstildelingen i klyngen.
  2. Node Manager: De kjører på slavedemonene og er ansvarlige for utførelsen av en oppgave på hver enkelt Data Node.
  3. Søknadsmester: Behandler livssyklusen til brukerne og ressursbehovene til individuelle applikasjoner. Det fungerer sammen med Node Manager og overvåker utførelsen av oppgaver.
  4. Container: Pakke med ressurser inkludert RAM, CPU, nettverk, harddisk osv. På en enkelt node.

Komponenter av GARN

Du kan vurdere GARN som hjernen til Hadoop-økosystemet. Bildet nedenfor representerer YARN Architecture.

selen webdriver med agurkeksempel i formørkelse

De første komponent av YARN Architecture er,

Ressurssjef

  • Det er den ultimate autoriteten i ressurstildeling .
  • Ved mottak av behandlingsforespørslene overfører den deler av forespørsler til tilsvarende nodeadministratorer tilsvarende, der den faktiske behandlingen foregår.
  • Det er voldgiftsdommeren for klyngeressursene og bestemmer tildelingen av tilgjengelige ressurser til konkurrerende applikasjoner.
  • Optimaliserer klyngebruken som å holde alle ressurser i bruk hele tiden mot forskjellige begrensninger som kapasitetsgarantier, rettferdighet og SLA.
  • Den har to hovedkomponenter:a) Planleggerb)Programleder

a) Planlegger

  • Planleggeren er ansvarlig for å tildele ressurser til de forskjellige applikasjonene som kjører, med forbehold om begrensninger på kapasitet, køer etc.
  • Det kalles en ren planlegger i ResourceManager, noe som betyr at den ikke utfører noen overvåking eller sporing av status for applikasjonene.
  • Hvis det oppstår en programfeil eller maskinvarefeil, garanterer ikke planleggeren at de mislykkede oppgavene startes på nytt.
  • Utfører planlegging basert på ressurskravene til applikasjonene.
  • Den har en pluggbar policy plug-in, som er ansvarlig for å dele klyngeressursene mellom de forskjellige applikasjonene. Det er to slike plugin-moduler: Kapasitetsplanlegger og Rettferdig planlegger , som for tiden brukes som planleggere i ResourceManager.

b) Søknadsleder

  • Det er ansvarlig for å godta jobbinnleveringer.
  • Forhandler den første beholderen fra ressurssjefen for å utføre den applikasjonsspesifikke applikasjonsmasteren.
  • Administrerer kjøring av Application Masters i en klynge og tilbyr service for å starte Application Master-beholderen på nytt ved feil.

Kommer til andre komponent som er:

Node Manager

  • Den tar vare på individuelle noder i en Hadoop-klynge ogadministrerer brukerjobber og arbeidsflyt på den gitte noden.
  • Den registreres hos ressurssjefen og sender hjerteslag med helsestatusen til noden.
  • Hovedmålet er å administrere applikasjonsbeholdere som er tilordnet av ressurssjefen.
  • Det holder seg oppdatert med ressurssjefen.
  • Application Master ber om den tildelte beholderen fra Node Manager ved å sende den en Container Launch Context (CLC) som inkluderer alt applikasjonen trenger for å kjøre. Node Manager oppretter den forespurte containerprosessen og starter den.
  • Overvåker ressursbruk (minne, CPU) for individuelle containere.
  • Utfører loggstyring.
  • Det dreper også beholderen som angitt av ressurssjefen.

De tredje komponent av Apache Hadoop YARN er,

hva er forskjellen mellom hashtable og hashmap
Søknadsmester
  • En søknad er en enkelt jobb sendt inn til rammeverket. Hver slik applikasjon har en unik Application Master tilknyttet, som er en rammespesifikk enhet.
  • Det er prosessen som koordinerer kjøringen av en applikasjon i klyngen og også håndterer feil.
  • Dens oppgave er å forhandle om ressurser fra ressurssjefen og jobbe med Node Manager for å utføre og overvåke komponentoppgavene.
  • Det er ansvarlig for å forhandle om passende ressursbeholdere fra ResourceManager, spore status og overvåke fremdriften.
  • Når den er startet, sender den med jevne mellomrom hjerteslag til ressurssjefen for å bekrefte helsen og for å oppdatere oversikten over ressurskravene.

De fjerde komponent er:

Container
  • Det er en samling av fysiske ressurser som RAM, CPU-kjerner og disker på en enkelt node.
  • GAR-containere administreres av en containerlanseringskontekst som er container livssyklus (CLC). Denne posten inneholder et kart over miljøvariabler, avhengigheter lagret i en eksternt tilgjengelig lagring, sikkerhetstokener, nyttelast for Node Manager-tjenester og kommandoen som er nødvendig for å opprette prosessen.
  • Det gir rettigheter til et program for å bruke en bestemt mengde ressurser (minne, CPU osv.) På en bestemt vert.

Søknadsinnlevering i GARN

Se bildet og ta en titt på trinnene som er involvert i søknadsinnlevering av Hadoop YARN:

1) Send inn jobben

2)Få program-ID

3) Søknadsinnleveringskontekst

4 a) Start beholderenStart

b) Start Application Master

5) Tildel ressurser

6 a) Beholder

b) Start

7) Utfør

Søknadsflyt i Hadoop GARN

Henvis til det gitte bildet og se de følgende trinnene involvert i applikasjonsarbeidsflyten til Apache Hadoop YARN:

  1. Kunden sender inn en søknad
  2. Resource Manager tildeler en container for å starte Application Manager
  3. Application Manager registrerer seg hos Resource Manager
  4. Application Manager spør containere fra Resource Manager
  5. Application Manager varsler Node Manager om å starte containere
  6. Søknadskode kjøres i containeren
  7. Klienten kontakter ressurssjef / applikasjonsbehandling for å overvåke applikasjonens status
  8. Application Manager avregistrerer seg hos Resource Manager

Nå som du kjenner Apache Hadoop GARN, sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk med mer enn 250 000 fornøyde elever spredt over hele verden. Edureka Big Data Hadoop-sertifiseringstreningskurs hjelper lærere å bli eksperter på HDFS, Garn, MapReduce, Pig, Hive, HBase, Oozie, Flume og Sqoop ved å bruke sanntidsbruk på Retail, Social Media, Aviation, Tourism, Finance.

Har du spørsmål til oss? Vennligst nevn det i kommentarfeltet, så kommer vi tilbake til deg.