apache hadoop yarn tutorial
Hadoop-Komponenten - MapReduce mit Hadoop YARN:
In unserem vorherigen Tutorial zur Hadoop-Komponente haben wir uns mit Hadoop MapReduce und seinem Verarbeitungsmechanismus wie EINGABE, SPLITTING, MAPPING, SHUFFLING, REDUZIERUNG und ENDGÜLTIGES ERGEBNIS vertraut gemacht.
In diesem Tutorial werden wir untersuchen:
- Wie funktioniert Map Reduce mit YARN?
- Anwendungsworkflow von Hadoop YARN.
=> Schauen Sie sich hier den BigData-Leitfaden für Anfänger an.
Was du lernen wirst:
Kartenreduzierung mit Hadoop YARN
Lassen Sie uns verstehen, wie MapReduce YARN verwendet, um die Jobs über den Hadoop-Cluster auszuführen. Aber bevor wir fortfahren, kommt uns zuerst die Frage in den Sinn Was ist die vollständige Form von YARN? Oder wofür steht YARN?
GARN meint Noch ein Ressourcenverhandler.
Es ist dasjenige, das die Ressourcen für verschiedene Jobs zuweist, die über den Hadoop-Cluster ausgeführt werden müssen. Es wurde in Hadoop 2.0 eingeführt.
Bis Hadoop 1.0 war MapReduce das einzige Framework oder die einzige Verarbeitungseinheit, die über den Hadoop-Cluster ausgeführt werden kann. In Hadoop 2.0 wurde YARN eingeführt und damit können wir auch über MapReduce hinausgehen.
Wie Sie im Diagramm sehen können, haben wir unten HDFS dazwischen, wir haben YARN und mit YARN können viele Frameworks HDFS verbinden und verwenden. Daher wird sogar MapReduce verwendet, um eine Verbindung mit YARN zum Anfordern der Ressourcen herzustellen, und nur dann kann der Job über HDFS, d. H. Hadoop Cluster, ausgeführt werden.
Ähnlich; SPARK, STORM und andere Suchmaschinen können eine Verbindung zu HDFS herstellen. HBase, eine No SQL-Datenbank, kann sie auch verbinden. Die Anwendungen von HDFS wurden riesig, nur weil YARN das Gate auch für andere Frameworks und andere Bigdata-Analysetools öffnen konnte.
Was ist der Unterschied zwischen MapReduce Version1 (MRv1) und MapReduce Version2 (MRv2)?
MRv1 war im Wesentlichen Teil des Hadoop-Frameworks 1 und mit Hadoop 2 kam YARN ins Spiel, und MapReduce wurde mit mehreren Klassenänderungen auf MRv2 aktualisiert. Die Klassen wurden aktualisiert, die Syntax zum Schreiben des MapReduce-Programms bleibt jedoch unverändert.
In diesem Szenario stellt MapReduce jetzt eine Verbindung mit YARN her, um das HDFS zu steuern.
Neben YARN sind Resource Manager und Node Manager die neuen Daemons, die in den Hadoop-Cluster eingeführt wurden.
Zuvor war es der Job Tracker und der Task Tracker. Sie wurden jedoch aus Hadoop 2.0 entfernt und Resource Manager & Node Manager wurden zusammen mit YARN in das Hadoop-Framework eingeführt.
Hadoop 2.x Daemons
Werfen wir einen kurzen Blick auf die neu eingeführten Daemons in Hadoop 2.0, auf denen die Komponenten ausgeführt werden, d. H. Speicher und Verarbeitung.
Welche der folgenden Methoden ist nicht akzeptabel, um ein responsives Design zu testen?
Im HDFS-Tutorial haben wir den Daemon, d. H. NameNode und DataNode, im Detail verstanden. In diesem Lernprogramm erfahren Sie, wie Resource Manager und Node Manager in Hadoop 2.x Cluster arbeiten, um die Verarbeitung und Jobs zu verwalten, die im Hadoop Cluster ausgeführt werden müssen.
Was ist der Ressourcenmanager? Resource Manager sind die Master-Daemons, die auf dem Master-Computer ausgeführt werden, oder der NameNode, der ein High-End-Computer ist. Node Manager ist dagegen der Daemon, der auf Slave-Computern oder den DataNodes oder zusammen mit dem DataNode-Prozess ausgeführt wird.
Hadoop 2.x MapReduce YARN-Komponenten
Lassen Sie uns die anderen Komponenten von YARN unten untersuchen.
- Klient: Es ist eine Einheit, die die Job-like Command Line Interface (CLI) sendet, und der Client kann eine JAVA-Anwendung sein.
- Ressourcenmanager: Es ist ein Master-Daemon, an den alle Jobs vom Client gesendet werden, und es ist derjenige, der alle Ressourcen auf Cluster-Ebene für die Ausführung eines bestimmten Jobs zuweist. Es läuft auf einem High-End-Computer mit hochwertiger Hardware und guter Konfiguration, da der Master-Computer alles über den Cluster verwalten muss.
- Knotenmanager : Es handelt sich um einen Slave-Daemon, der auf den Slave-Computern oder dem DataNode ausgeführt wird, sodass auf jedem Slave-Computer ein Knotenmanager ausgeführt wird. Es überwacht die Ressourcen eines bestimmten DataNode, Resource Manager verwaltet die Clusterressourcen und Node Manager verwaltet die DataNode-Ressourcen.
- Job History Server: Es ist die Einheit, um alle Jobs zu verfolgen, die über den Cluster ausgeführt oder an den Cluster gesendet wurden. Es verfolgt auch den Status und speichert auch die Protokolldateien jeder Ausführung, die über den Hadoop-Cluster erfolgt ist.
- Anwendungsmaster : Es handelt sich um eine Komponente, die über Node Machine, Slave Machine ausgeführt und von einem Ressourcenmanager zum Ausführen und Verwalten eines Jobs erstellt wird. Es ist derjenige, der die Ressourcen vom Ressourcenmanager aushandelt und schließlich mit dem Knotenmanager koordiniert, um die Aufgabe auszuführen.
- Container: Es wird vom Knotenmanager selbst erstellt, der vom Ressourcenmanager zugewiesen wurde, und alle Jobs werden schließlich im Container ausgeführt.
YARN Workflow
Wie im obigen Diagramm gezeigt, gibt es eine Ressourcenmanager an die alle Jobs gesendet werden und es gibt einen Cluster, in dem sich Slave-Maschinen befinden, und auf jeder Slave-Maschine gibt es eine Knotenmanager Laufen.
Ressourcenmanager hat zwei Komponenten, d.h. Planer und Anwendungsmanager.
Was ist der Unterschied zwischen Application Master und Application Manager?
Anwendungsmanager ist ein Bestandteil von Ressourcenmanager Dies stellt sicher, dass jede Aufgabe ausgeführt wird und eine Anwendungsmaster wird dafür erstellt. Anwendungsmaster, Auf der anderen Seite ist jemand, der die Aufgabe ausführt und alle Ressourcen anfordert, die ausgeführt werden müssen.
Angenommen, der Auftrag wird an die gesendet Ressourcenmanager , sobald der Auftrag eingereicht wird Planer plant den Job. Sobald die Planer plant den auszuführenden Job Anwendungsmanager wird ein erstellen Container in einem der Datenknoten und innerhalb dieser Container, das Anwendungsmaster Wird gestartet.
Dies Anwendungsmaster wird sich dann bei der registrieren Ressourcenmanager und Anfrage für eine Container um die Aufgabe auszuführen. Sobald Container zugewiesen wird, die Anwendungsmaster wird nun mit dem verbunden Knotenmanager und fordern Sie an, die zu starten Container .
Wie wir sehen können, ist die Anwendungsmaster wurde zugeteilt Datenknoten D. und IS und jetzt das Anwendungsmaster forderte die Knotenmanager um die Behälter von Datenknoten D. und Datenknoten E. .
Sobald Behälter wurden ins Leben gerufen, die Anwendungsmaster führt die Aufgabe innerhalb der aus Container und das Ergebnis wird an die zurückgesendet Klient .
Anwendungsablauf
Lassen Sie uns dies ein wenig nacheinander verstehen.
Im folgenden Diagramm haben wir vier Komponenten. Der erste ist der Klient, der zweite ist Ressourcenmanager ist der dritte Knotenmanager und die vierte Zeile enthält Anwendungsmaster .
Lassen Sie uns sehen, wie diese Schritte zwischen ihnen ausgeführt werden.
Der allererste Schritt ist der Klient wer legt den Job an die Ressourcenmanager im zweiten Schritt die Ressourcenmanager weist a Container um das zu starten Anwendungsmaster auf der Sklavenmaschinen ;; Der dritte Schritt ist der Anwendungsmaster registriert sich bei der Ressourcenmanager .
Sobald es sich registriert, fordert es das an Container um die Aufgabe auszuführen, d. h. den vierten Schritt. In Schritt fünf wird die Anwendungsmaster benachrichtigt die Knotenmanager auf dem die Container muss gestartet werden.
In Schritt sechs einmal die Knotenmanager hat die ins Leben gerufen Behälter, das Anwendungsmaster führt den Code innerhalb dieser aus Behälter .
Schließlich, im siebten Schritt, die Klient kontaktiert die Ressourcenmanager oder der Anwendungsmaster um den Anwendungsstatus zu überwachen.
Am Ende ist die Anwendungsmaster wird sich von der abmelden Ressourcenmanager und das Ergebnis wird an die zurückgegeben Klient . Dies ist also ein einfacher sequentieller Ablauf, wie ein MapReduce-Programm unter Verwendung des YARN-Frameworks ausgeführt wird.
Fazit
In diesem Tutorial haben wir also die folgenden Hinweise gelernt:
- GARN meint Noch ein Ressourcenverhandler.
- YARN wurde in Hadoop 2.0 eingeführt
- Resource Manager und Node Manager wurden zusammen mit YARN in das Hadoop-Framework eingeführt.
- YARN-Komponenten wie Client, Ressourcenmanager, Knotenmanager, Jobverlaufsserver, Anwendungsmaster und Container.
Im kommenden Tutorial werden wir die Testtechniken von BigData und die Herausforderungen beim BigData-Testen diskutieren. Wir werden auch lernen, wie wir diese Herausforderungen bewältigen und wie wir BigData-Tests vereinfachen können.
=> Besuchen Sie hier, um BigData von Grund auf neu zu lernen.
Literatur-Empfehlungen
- Was ist Hadoop? Apache Hadoop Tutorial für Anfänger
- 20+ MongoDB Tutorial für Anfänger: Kostenloser MongoDB Kurs
- Ausführliche Eclipse-Tutorials für Anfänger
- Python-Tutorial für Anfänger (KOSTENLOSES Python-Training zum Anfassen)
- Big Data Tutorial für Anfänger | Was ist Big Data?
- LoadRunner Tutorial für Anfänger (kostenloser 8-tägiger Tiefenkurs)
- Hadoop MapReduce Tutorial mit Beispielen | Was ist MapReduce?
- Beste KOSTENLOSE C # Tutorial-Serie: Der ultimative C # -Handbuch für Anfänger