apache hadoop yarn tutorial
Hadoop Components - MapReduce With Hadoop YARN:
I vår tidigare handledning om Hadoop-komponenten lärde vi oss om Hadoop MapReduce och dess bearbetningsmekanism som INPUT, SPLITTING, MAPPING, SHUFFLING, REDUCING and FINAL RESULT.
I denna handledning kommer vi att utforska:
- Hur fungerar Map Reduce med YARN?
- Application Workflow för Hadoop YARN.
=> Ta en titt på BigData nybörjarguiden här.
Vad du kommer att lära dig:
Karta minska med Hadoop GARN
Låt oss förstå hur MapReduce använder YARN för att utföra jobb över Hadoop-klustret. Men innan vi fortsätter kommer den första frågan att tänka på oss vad är den fullständiga formen för GARN? Eller vad står YARN för?
GARN betyder att Ännu en resursförhandlare.
Det är den som fördelar resurserna för olika jobb som behöver utföras via Hadoop-klustret. Det introducerades i Hadoop 2.0.
Till Hadoop 1.0 MapReduce var det enda ramverket eller den enda bearbetningsenheten som kan köras över Hadoop-klustret. Men i Hadoop 2.0 introducerades YARN och med det kan vi också gå längre än MapReduce.
Som du kan se i diagrammet har vi HDFS i botten däremellan, vi har garn och med hjälp av YARN kan många ramar ansluta och använda HDFS. Så även MapReduce används för att ansluta med YARN för att begära resurser och bara då kan det utföra jobbet över HDFS, dvs. Hadoop Cluster.
Liknande; SPARK, STORM och andra sökmotorer kan ansluta till HDFS. HBase som är en ingen SQL-databas kan också ansluta den. Så tillämpningarna av HDFS blev enorma, bara för att YARN kunde öppna Gate för andra ramar och andra Bigdata-analysverktyg också.
Vad är skillnaden mellan MapReduce Version1 (MRv1) och MapReduce Version2 (MRv2)?
MRv1 var i huvudsak en del av Hadoop-ramverket 1 och med Hadoop 2 kom YARN in i bilden och MapReduce uppgraderades till MRv2 med flera klassförändringar. Klasserna uppdaterades, men syntaxen för att skriva MapReduce-programmet förblir densamma.
I det här scenariot ansluts MapReduce nu till YARN för att axla HDFS.
Tillsammans med YARN är Resource Manager och Node Manager de nya Daemons som introducerades i Hadoop Cluster.
Tidigare var det Job Tracker och Task Tracker. De togs dock bort från Hadoop 2.0 och Resource Manager & Node Manager introducerades tillsammans med YARN i Hadoop-ramverket.
Hadoop 2.x Daemons
Låt oss ta en snabb titt på de nyligen introducerade Daemons i Hadoop 2.0 som kör komponenterna, dvs. lagring och bearbetning.
java programmering intervju frågor och svar för erfarna
I HDFS-självstudien förstod vi Daemon, dvs. NameNode och DataNode i detalj. I denna handledning kommer vi att förstå hur Resource Manager och Node Manager fungerar i Hadoop 2.x Cluster för att hantera bearbetning och jobb som behöver köras i Hadoop Cluster.
Så, vad är Resource Manager? Resource Manager är Master Daemons som körs på Master Machine eller NameNode som är en avancerad maskin. Node Manager, å andra sidan, är Daemon som körs på slavmaskiner eller DataNodes eller tillsammans med DataNode-processen.
Hadoop 2.x MapReduce YARN Components
Låt oss utforska de andra komponenterna i YARN nedan.
- Klient: Det är en enhet som skickar det Job-like Command Line Interface (CLI), och klienten kan vara ett JAVA-program.
- Resurschef: Det är en Master Daemon till vilken alla jobb skickas från klienten, och det är den som allokerar alla klusternivåresurser för att utföra ett visst jobb. Den körs på en avancerad maskin som har hårdvara av god kvalitet och bra konfiguration eftersom det är Master Machine som måste hantera allt över klustret.
- Node Manager : Det är en slavdemon som körs på slavmaskinerna eller DataNode, så varje slavmaskin har en Node Manager igång. Den övervakar resurserna för vissa DataNode, Resource Manager hanterar Cluster-resurserna och Node Manager hanterar DataNode-resurserna.
- Server för jobbhistorik: Det är enheten som håller reda på alla jobb som har utförts över klustret eller har skickats till klustret. Den håller också reda på statusen och håller också loggfilerna för varje körning som hänt över Hadoop-klustret.
- Ansökan Master : Det är en komponent som körs över Node Machine, Slave Machine och skapas av en Resource Manager för att utföra och hantera ett jobb. Det är den som förhandlar om resurserna från Resource Manager och slutligen samordnar med Node Manager för att utföra uppgiften.
- Behållare: Det skapas av Node Manager själv som har tilldelats av Resource Manager och alla jobb utförs slutligen i behållaren.
GARN Arbetsflöde
Som visas i ovanstående diagram finns det en Resurschef som alla jobb skickas till och det finns ett kluster där det finns slavmaskiner, och på varje slavmaskin finns det en Node Manager löpning.
Resurschef har två komponenter, dvs. Schemaläggare och Application Manager.
Vad är skillnaden mellan Application Master och Application Manager?
Application Manager är en del av Resurschef vilket säkerställer att varje uppgift utförs och en Ansökan Master skapas för det. Ansökan Master, å andra sidan är det någon som utför uppgiften och begär alla resurser som krävs för att köras.
Låt oss säga att jobbet skickas till Resurschef , så snart jobbet skickas in Schemaläggare schemalägger jobbet. När Schemaläggare schemalägger jobbet som ska utföras Application Manager kommer att skapa en Behållare i en av DataNodes och inom detta Behållare, de Ansökan Master kommer att startas.
Detta Ansökan Master registrerar sig sedan hos Resurschef och begära en Behållare för att utföra uppgiften. Så snart som Behållare tilldelas, Ansökan Master kommer nu att anslutas till Node Manager och begära att starta Behållare .
Som vi kan se, Ansökan Master fick tilldelas DataNodes D och ÄR , och nu detta Ansökan Master begärde Node Manager för att starta Behållare av DataNode D och DataNode E .
Så snart som Behållare lanserades, Ansökan Master kommer att utföra uppgiften inom Behållare och resultatet kommer att skickas tillbaka till Klient .
Applikationsflöde
Låt oss förstå detta på ett litet sekventiellt sätt.
I nedanstående diagram har vi fyra komponenter. Den första är Klient, den andra är Resurschef , den tredje är Node Manager och den fjärde raden innehåller Ansökan Master .
Så låt oss se hur dessa steg utförs mellan dem.
Det allra första steget är Klient som överlämnar jobbet till Resurschef , i det andra steget Resurschef tilldelar en Behållare för att starta Ansökan Master på Slavmaskiner ; det tredje steget är Ansökan Master registrerar sig hos Resurschef .
Så snart det registrerar sig begär det Behållare för att utföra uppgiften, dvs. det fjärde steget. I steg fem, Ansökan Master meddelar Node Manager på vilken Behållare måste lanseras.
I steg sex, en gång Node Manager har lanserat Behållare, de Ansökan Master kommer att köra koden inom dessa Behållare .
Slutligen, i det sjunde steget, Klient kontakter Resurschef eller den Ansökan Master för att övervaka applikationsstatus.
I slutändan, Ansökan Master kommer att avregistrera sig från Resurschef och resultatet ges tillbaka till Klient . Så det här är ett enkelt sekventiellt flöde av hur ett MapReduce-program körs med hjälp av YARN-ramverket.
Slutsats
Så i denna handledning lärde vi oss följande tips:
- GARN betyder att Ännu en resursförhandlare.
- YARN introducerades i Hadoop 2.0
- Resource Manager och Node Manager introducerades tillsammans med YARN i Hadoop-ramverket.
- YARN-komponenter som Client, Resource Manager, Node Manager, Job History Server, Application Master och Container.
I den kommande handledningen kommer vi att diskutera testteknikerna för BigData och de utmaningar som BigData Testing står inför. Vi kommer också att lära känna hur vi kan övervinna dessa utmaningar och eventuella kringgående sätt att göra BigData Testing enkelt.
=> Besök här för att lära dig BigData från Scratch.
Rekommenderad läsning
- Vad är Hadoop? Apache Hadoop-handledning för nybörjare
- 20+ MongoDB-handledning för nybörjare: Gratis MongoDB-kurs
- Fördjupade förklaringar om förmörkelser för nybörjare
- Python-handledning för nybörjare (praktisk Python-träning)
- Big Data Tutorial för nybörjare | Vad är Big Data?
- LoadRunner-handledning för nybörjare (gratis 8-dagars djupkurs)
- Hadoop MapReduce-handledning med exempel | Vad är MapReduce?
- Bästa GRATIS C # -handledningsserie: Den ultimata C # -guiden för nybörjare