Hadoop YARN Tutorial - Lär dig grunden för YARN Architecture



Den här bloggen fokuserar på Apache Hadoop YARN som introducerades i Hadoop version 2.0 för resurshantering och jobbplanering. Det förklarar GARN-arkitekturen med dess komponenter och de uppgifter som utförs av var och en av dem. Den beskriver ansökans inlämning och arbetsflöde i Apache Hadoop YARN.

Hadoop YARN stickar lagringsenheten för Hadoop dvs HDFS (Hadoop Distribuerat filsystem) med de olika bearbetningsverktygen. För er som är helt nya i detta ämne, står YARN för “ Y och TILL ingen annan R esource N egoator ”. Jag föreslår också att du går igenom vår och innan du går vidare med att lära dig Apache Hadoop YARN. Jag kommer att förklara följande ämnen här för att se till att i slutet av denna blogg är din förståelse av Hadoop YARN tydlig.

Varför GARN?

I Hadoop version 1.0 som också kallas MRV1 (MapReduce Version 1) utförde MapReduce både bearbetnings- och resurshanteringsfunktioner. Den bestod av en Job Tracker som var den enda mästaren. Jobbspåraren tilldelade resurserna, utförde schemaläggning och övervakade bearbetningsjobben. Det tilldelade kartor och minskade uppgifter på ett antal underordnade processer som kallas Task Trackers. Task Trackers rapporterade regelbundet sina framsteg till Job Tracker.





MapReduce Version 1.0 - Hadoop YARN - Edureka

Denna design resulterade i skalbarhetsflaskhals på grund av en enda Job Tracker.IBM nämnde i sin artikel att enligt Yahoo! Nås de praktiska gränserna för en sådan design med ett kluster av 5000 noder och 40 000 uppgifter som körs samtidigt.Bortsett från denna begränsning är användningen av beräkningsresurser ineffektiv i MRV1. Hadoop-ramverket blev också begränsat till endast MapReduce-bearbetningsparadigm.



För att övervinna alla dessa frågor introducerades YARN i Hadoop version 2.0 år 2012 av Yahoo och Hortonworks. Grundidén bakom YARN är att lindra MapReduce genom att ta över ansvaret för Resource Management och Job Scheduling. YARN började ge Hadoop möjlighet att köra jobb som inte är MapReduce inom Hadoop-ramen.

beskrivning av Linux-systemadministratör

Du kan också titta på videon nedan där vår expert diskuterar YARN-koncept och dess arkitektur i detalj.

Hadoop Garn Handledning | Hadoop Garnarkitektur | Edureka

Med introduktionen av GARN revolutionerades helt. Det blev mycket mer flexibelt, effektivt och skalbart. När Yahoo gick i drift med YARN under första kvartalet 2013, hjälpte det företaget att krympa storleken på sitt Hadoop-kluster från 40 000 noder till 32 000 noder. Men antalet jobb fördubblades till 26 miljoner per månad.



Introduktion till Hadoop YARN

Nu när jag har upplyst dig om behovet av garn, låt mig presentera dig för kärnkomponenten i Hadoop v2.0, GARN . YARN tillåter olika databehandlingsmetoder som grafbehandling, interaktiv bearbetning, strömbehandling samt batchbehandling för att köra och bearbeta data som lagras i HDFS. Därför öppnar YARN Hadoop för andra typer av distribuerade applikationer bortom MapReduce.

YARN gjorde det möjligt för användarna att utföra operationer enligt kraven med hjälp av en mängd olika verktyg som för realtidsbehandling Bikupa för SQL, HBase för NoSQL och andra.

Förutom Resource Management utför YARN också Job Scheduling. YARN utför alla dina bearbetningsaktiviteter genom att fördela resurser och schemalägga uppgifter. Apache Hadoop YARN Architecture består av följande huvudkomponenter:

  1. Resurschef : Körs på en masterdemon och hanterar resurstilldelningen i klustret.
  2. Node Manager: De körs på slavdemonerna och är ansvariga för utförandet av en uppgift på varje enskild datanod.
  3. Ansökan Master: Hanterar användarjobbets livscykel och resursbehov för enskilda applikationer. Det fungerar tillsammans med Node Manager och övervakar utförandet av uppgifter.
  4. Behållare: Paket med resurser inklusive RAM, CPU, nätverk, hårddisk etc på en enda nod.

Komponenter i garn

Du kan betrakta garn som hjärnan i ditt Hadoop-ekosystem. Bilden nedan representerar YARN Architecture.

hur man vänder en sträng i python

De första komponenten av YARN Architecture är,

Resurschef

  • Det är den ultimata myndigheten i resursallokering .
  • Vid mottagande av behandlingsförfrågningarna skickar den delar av förfrågningar till motsvarande nodhanterare i enlighet där, där den faktiska behandlingen sker.
  • Det är skiljedomaren för klusterresurserna och bestämmer fördelningen av tillgängliga resurser för konkurrerande applikationer.
  • Optimerar klusteranvändningen som att hålla alla resurser i bruk hela tiden mot olika begränsningar som kapacitetsgarantier, rättvisa och SLA.
  • Den har två huvudkomponenter:a) Schemaläggareb)Application Manager

a) Schemaläggare

  • Schemaläggaren ansvarar för att fördela resurser till de olika applikationerna som körs med förbehåll för kapacitetsbegränsningar, köer etc.
  • Det kallas en ren schemaläggare i ResourceManager, vilket innebär att den inte utför någon övervakning eller spårning av status för applikationerna.
  • Om det finns ett programfel eller maskinvarufel garanterar inte schemaläggaren att starta om de misslyckade uppgifterna.
  • Utför schemaläggning baserat på applikationernas resurskrav.
  • Den har ett pluggbart policy-plugin-program som ansvarar för att dela klusterresurserna mellan de olika applikationerna. Det finns två sådana plugin-program: Kapacitetsschemaläggare och Rättvis schemaläggare , som för närvarande används som schemaläggare i ResourceManager.

b) Application Manager

  • Det ansvarar för att acceptera jobbansökningar.
  • Förhandlar om den första behållaren från Resource Manager för att köra den applikationsspecifika applikationsmastern.
  • Hanterar körning av Application Masters i ett kluster och tillhandahåller service för att starta om Application Master-behållaren vid fel.

Kommer till andra komponenten vilket är:

Node Manager

  • Det tar hand om enskilda noder i ett Hadoop-kluster ochhanterar användarjobb och arbetsflöde på den angivna noden.
  • Det registreras hos Resource Manager och skickar hjärtslag med nodens hälsostatus.
  • Dess primära mål är att hantera applikationsbehållare som tilldelats den av resurshanteraren.
  • Det håller sig uppdaterad med Resource Manager.
  • Application Master begär den tilldelade behållaren från Node Manager genom att skicka den en Container Launch Context (CLC) som innehåller allt applikationen behöver för att kunna köras. Nodhanteraren skapar den begärda behållarprocessen och startar den.
  • Övervakar resursanvändning (minne, CPU) för enskilda behållare.
  • Utför logghantering.
  • Det dödar också containern enligt instruktioner från Resource Manager.

De tredje komponenten av Apache Hadoop YARN är,

Ansökan Master
  • En ansökan är ett enda jobb som skickas till ramverket. Varje sådan applikation har en unik applikationsmästare som är associerad med en ramspecifik enhet.
  • Det är processen som samordnar en applikations körning i klustret och hanterar också fel.
  • Dess uppgift är att förhandla om resurser från Resource Manager och arbeta med Node Manager för att utföra och övervaka komponentuppgifterna.
  • Det ansvarar för att förhandla om lämpliga resursbehållare från ResourceManager, spåra deras status och övervaka framstegen.
  • När det väl startat skickar det regelbundet hjärtslag till Resource Manager för att bekräfta sin hälsa och för att uppdatera registret över sina resurskrav.

De fjärde komponenten är:

Behållare
  • Det är en samling fysiska resurser som RAM, CPU-kärnor och diskar på en enda nod.
  • YARN-containrar hanteras av en containerlanseringskontext som är container-livscykel (CLC). Den här posten innehåller en karta över miljövariabler, beroenden som lagras i ett fjärråtkomligt lagringsutrymme, säkerhetstoken, nyttolast för Node Manager-tjänster och det kommando som krävs för att skapa processen.
  • Det ger rättigheter till en applikation att använda en viss mängd resurser (minne, CPU etc.) på en viss värd.

Ansökan om ansökan i garn

Se bilden och titta på stegen i ansökan om inlämning av Hadoop YARN:

1) Skicka in jobbet

2)Få applikations-ID

3) Ansökan om inlämning av ansökan

4 a) Starta behållarenLansera

b) Starta applikationsmästaren

vad är en instans av en klass i java

5) Tilldela resurser

6 a) Behållare

b) Starta

7) Kör

Application Workflow i Hadoop YARN

Se den givna bilden och se följande steg involverade i applikationsarbetsflödet för Apache Hadoop YARN:

  1. Klienten skickar in en ansökan
  2. Resource Manager tilldelar en container för att starta Application Manager
  3. Application Manager registrerar sig hos Resource Manager
  4. Application Manager frågar behållare från Resource Manager
  5. Application Manager meddelar Node Manager att starta containrar
  6. Applikationskod körs i behållaren
  7. Klienten kontaktar Resource Manager / Application Manager för att övervaka applikationens status
  8. Application Manager avregistrerar sig hos Resource Manager

Nu när du känner till Apache Hadoop YARN, kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edureka-kursen Big Data Hadoop-certifiering hjälper eleverna att bli experter på HDFS, Garn, MapReduce, Pig, Hive, HBase, Oozie, Flume och Sqoop med realtidsanvändningsfall på Retail, Social Media, Aviation, Tourism, Finance.

Har du en fråga till oss? Vänligen nämna det i kommentarfältet så återkommer vi till dig.