apache hadoop yarn tutorial
Hadoop Components - MapReduce With Hadoop GARN:
I vår forrige opplæring om Hadoop-komponenten lærte vi om Hadoop MapReduce og dens behandlingsmekanisme som INPUT, SPLITTING, MAPPING, SHUFFLING, REDUCING og FINAL RESULT.
I denne opplæringen vil vi utforske:
- Hvordan fungerer Map Reduce med GARN?
- Søknadsarbeidsflyt for Hadoop YARN.
=> Ta en titt på BigData Beginners Guide her.
Hva du vil lære:
Kart Reduser Med Hadoop GARN
La oss forstå hvordan MapReduce bruker YARN til å utføre jobbene over Hadoop-klyngen. Men før vi fortsetter, er det første spørsmålet i tankene våre hva er den fulle formen for GARN? Eller hva står YARN for?
GARN midler Nok en ressursforhandler.
Det er den som tildeler ressursene til forskjellige jobber som må utføres over Hadoop-klyngen. Den ble introdusert i Hadoop 2.0.
Till Hadoop 1.0 MapReduce var det eneste rammeverket eller den eneste prosesseringsenheten som kan utføres over Hadoop-klyngen. Imidlertid ble YARN introdusert i Hadoop 2.0, og ved å bruke det kan vi også gå utover MapReduce.
Som du kan se i diagrammet, har vi HDFS i bunnen i mellom, vi har GARN og bruker GARN, mange rammer er i stand til å koble til og bruke HDFS. Så, til og med MapReduce brukes til å koble til ved hjelp av YARN for å be om ressurser, og bare da kan den utføre jobben over HDFS, dvs. Hadoop Cluster.
På samme måte; SPARK, STORM og andre søkemotorer kan koble seg til HDFS. HBase, som ikke er en SQL-database, kan også koble den til. Så applikasjonene til HDFS ble enorme, bare fordi YARN også var i stand til å åpne porten for andre rammer og andre Bigdata-analyseverktøy.
Hva er forskjellen mellom MapReduce versjon 1 (MRv1) og MapReduce versjon 2 (MRv2)?
MRv1 var i det vesentlige en del av Hadoop framework 1 og med Hadoop 2 kom YARN inn i bildet og MapReduce ble oppgradert til MRv2 med flere endringer i klassene. Klassene ble oppdatert, men syntaksen for å skrive MapReduce-programmet forblir den samme.
I dette scenariet kobler MapReduce seg nå til GARN for å akse HDFS.
Sammen med YARN er Resource Manager og Node Manager de nye Daemons som ble introdusert i Hadoop Cluster.
Tidligere var det Job Tracker og Task Tracker. Imidlertid ble de fjernet fra Hadoop 2.0, og Resource Manager & Node Manager ble introdusert sammen med YARN i Hadoop-rammeverket.
Hadoop 2.x Daemons
La oss se raskt på de nylig introduserte Daemons i Hadoop 2.0 som kjører komponentene, dvs. lagring og prosessering.
java programmeringsintervju spørsmål og svar for erfarne
I HDFS-opplæringen forsto vi Daemon, dvs. NameNode og DataNode i detalj. I denne opplæringen vil vi forstå hvordan Resource Manager og Node Manager fungerer i Hadoop 2.x Cluster for å administrere behandlingen og jobbene som må utføres i Hadoop Cluster.
Så, hva er ressurssjefen? Resource Manager er Master Daemons som kjører på Master Machine eller NameNode som er en high-end maskin. Node Manager, derimot, er Daemon som kjører på Slave Machines eller DataNodes eller sammen med DataNode Process.
Hadoop 2.x MapReduce GARN-komponenter
La oss utforske de andre komponentene i GARN nedenfor.
- Klient: Det er en enhet som sender det Job-like Command Line Interface (CLI), og klienten kan være et JAVA-program.
- Ressurssjef: Det er en Master Daemon som alle jobbene sendes til fra klienten, og det er den som tildeler alle klyngenivåressurser for å utføre en bestemt jobb. Den kjører på en avansert maskin som har god kvalitet på maskinvare og god konfigurasjon, da det er Master Machine som må administrere alt over klyngen.
- Node Manager : Det er en Slave Daemon som kjører på Slave Machines eller DataNode, så hver Slave Machine har en Node Manager som kjører. Den overvåker ressursene til bestemte DataNode, Resource Manager administrerer Cluster-ressursene og Node Manager administrerer DataNode-ressursene.
- Jobbhistorikkserver: Det er enheten som holder oversikt over alle jobbene som er utført over klyngen eller som er sendt til klyngen. Den holder også oversikt over statusen og holder også loggfilene til hver utførelse som skjedde over Hadoop Cluster.
- Søknadsmester : Det er en komponent som kjøres over Node Machine, Slave Machine og er opprettet av en ressurssjef for å utføre og administrere en jobb. Det er den som forhandler ressursene fra ressurssjefen og til slutt koordinerer med Node Manager for å utføre oppgaven.
- Container: Den er opprettet av Node Manager selv som er tildelt av Resource Manager, og alle jobbene blir endelig utført i containeren.
GARN Arbeidsflyt
Som vist i diagrammet ovenfor er det en Ressurssjef som alle jobbene er sendt til, og det er en klynge der det er slavemaskiner, og på hver slavemaskin er det en Node Manager løping.
Ressurssjef har to komponenter dvs. Planlegger og Programleder.
Hva er forskjellen mellom Application Master og Application Manager?
Programleder er en komponent av Ressurssjef som sørger for at hver oppgave blir utført og en Søknadsmester er skapt for det. Søknadsmester, derimot, er det noen som utfører oppgaven og ber om alle ressursene som kreves for å bli utført.
La oss si at jobben er sendt til Ressurssjef , så snart jobben er levert Planlegger planlegger jobben. Først når Planlegger planlegger jobben som skal utføres Programleder vil skape en Container i en av DataNodes , og innenfor dette Container, de Søknadsmester vil bli startet.
Dette Søknadsmester vil da registrere seg hos Ressurssjef og be om en Container for å utføre oppgaven. Så snart Container er tildelt, blir Søknadsmester vil nå være koblet til Node Manager og be om å starte Container .
Som vi kan se, er Søknadsmester fikk tildelt DataNodes D og ER , og nå dette Søknadsmester ba om Node Manager å starte Beholdere av DataNode D og DataNode E .
Så snart Beholdere ble lansert, den Søknadsmester vil utføre oppgaven i Container og resultatet vil bli sendt tilbake til Klient .
Søknadsflyt
La oss forstå dette på en sekvensiell måte.
I diagrammet nedenfor har vi fire komponenter. Den første er Klient, den andre er Ressurssjef , den tredje er Node Manager og den fjerde linjen inneholder Søknadsmester .
Så la oss se hvordan disse trinnene utføres mellom dem.
Det aller første trinnet er Klient som sender jobben til Ressurssjef , i andre trinn Ressurssjef tildeler en Container å starte Søknadsmester på Slavemaskiner ; det tredje trinnet er Søknadsmester registrerer seg hos Ressurssjef .
Så snart den registrerer seg, ber den om Container å utføre oppgaven, dvs. det fjerde trinnet. I trinn fem, Søknadsmester varsler Node Manager som den Container må lanseres.
I trinn seks, en gang Node Manager har lansert Beholdere, de Søknadsmester vil utføre koden innenfor disse Beholdere .
Til slutt, i det sjuende trinnet, ble Klient kontakter Ressurssjef eller Søknadsmester for å overvåke applikasjonsstatusen.
Til slutt, den Søknadsmester vil avregistrere seg fra Ressurssjef og resultatet blir gitt tilbake til Klient . Så dette er en enkel sekvensiell flyt av hvordan et MapReduce-program kjøres ved hjelp av YARN-rammeverket.
Konklusjon
Så i denne opplæringen lærte vi følgende tips:
- GARN midler Nok en ressursforhandler.
- GARN ble introdusert i Hadoop 2.0
- Resource Manager og Node Manager ble introdusert sammen med YARN i Hadoop-rammeverket.
- GARN-komponenter som Client, Resource Manager, Node Manager, Job History Server, Application Master og Container.
I den kommende opplæringen vil vi diskutere testteknikkene til BigData og utfordringene i BigData Testing. Vi vil også bli kjent med hvordan vi kan overvinne disse utfordringene og eventuelle omgåelsesmåter for å gjøre BigData Testing enkelt.
=> Besøk her for å lære BigData fra Scratch.
Anbefalt lesing
- Hva er Hadoop? Apache Hadoop-veiledning for nybegynnere
- 20+ MongoDB-opplæring for nybegynnere: Gratis MongoDB-kurs
- In-Depth Eclipse Tutorials For Beginners
- Python-opplæring for nybegynnere (praktisk GRATIS Python-trening)
- Big Data Tutorial for nybegynnere | Hva er Big Data?
- LoadRunner-veiledning for nybegynnere (gratis 8-dagers dybdekurs)
- Hadoop MapReduce-opplæring med eksempler | Hva er MapReduce?
- Beste GRATIS C # opplæringsserie: The Ultimate C # Guide For Beginners