Einführung in die Hadoop YARN-Architektur
MapReduce wurde verwendet, um sowohl die Ressourcenverwaltung als auch die Verarbeitung in der früheren Hadoop-Version 1.0 durchzuführen. Hier führte Job Tracker die Ressourcenzuweisung, Planung und Überwachung von Jobs durch, indem er dem Task Tracker eine Karte zuwies und Aufgaben reduzierte. Dies führte zu Problemen wie Skalierbarkeit und ineffizienter Ressourcennutzung. Da das Hadoop-Framework im Laufe der Jahre mehrere Änderungen erfahren hat; Wir können sehen, dass damit viel mehr als nur die MapReduce-Jobs ausgeführt werden können. YARN steht für Another Resource Negotiator, das Cluster-Management-System von Hadoop, das mit Hadoop 2.0 eingeführt wurde, um verteiltes Computing zu unterstützen und die Implementierung von MapReduce zu verbessern. In YARN befinden sich der Ressourcenmanager und die Scheduler außerhalb des Frameworks. Obwohl es in YARN Datenknoten gibt, gibt es keine Task-Tracker oder Job-Tracker mehr. Auch mit YARN können wir sowohl Ressourcenmanagement als auch generisches Scheduling anbieten. In diesem Thema lernen wir die verschiedenen Architekturen von YARN kennen
Erklären Sie Hadoop YARN Architecture mit Diagramm
(Architektur von Hadoop YARN)
YARN führt das Konzept eines Ressourcenmanagers und eines Anwendungsmasters in Hadoop 2.0 ein. Der Ressourcenmanager sieht die Nutzung der Ressourcen im gesamten Hadoop-Cluster, während der Lebenszyklus der Anwendungen, die in einem bestimmten Cluster ausgeführt werden, vom Anwendungsmaster überwacht wird. Grundsätzlich kann man sagen, dass der Application Master für Cluster-Ressourcen mit dem Resource Manager verhandelt. Diese Aufgabe wird von den Containern ausgeführt, die bestimmte Speicherbeschränkungen enthalten. Diese Container werden dann zum Ausführen der anwendungsspezifischen Prozesse verwendet, und auch diese Container werden von den Knotenmanagern überwacht, die auf Knoten im Cluster ausgeführt werden. Dadurch wird bestätigt, dass von der Anwendung nicht mehr als die zugewiesenen Ressourcen verwendet werden.
Verschiedene Bestandteile von YARN
Nachfolgend sind die verschiedenen Komponenten von YARN aufgeführt.
1) Ressourcenmanager
YARN arbeitet mit einem Ressourcen-Manager, der für jeden Knoten einer ist, und einem Knoten-Manager, der auf allen Knoten ausgeführt wird. Der Ressourcenmanager verwaltet die im Cluster verwendeten Ressourcen, und der Knotenmanager nimmt die Container in Betrieb und überwacht sie. Scheduler und Application Manager sind zwei Komponenten des Resource Managers.
- Scheduler : Die Planung wird basierend auf dem Ressourcenbedarf der Anwendungen durchgeführt. YARN bietet nur wenige Scheduler zur Auswahl, und sie sind Fair- und Capacity-Scheduler. Im Falle eines Hardware- oder Anwendungsfehlers stellt der Scheduler keinen Neustart der fehlgeschlagenen Tasks sicher. Darüber hinaus weist Scheduler den laufenden Anwendungen basierend auf Kapazität und Warteschlange Ressourcen zu.
- Anwendungsmanager : Er verwaltet die Ausführung von Anwendungsmaster in einem Cluster und hilft beim Ausfall des Anwendungsmaster-Containers beim Neustart. Es trägt auch die Verantwortung, die Übermittlung der Aufträge anzunehmen.
2) Node Manager
Der Knoten-Manager ist für die Ausführung der Aufgabe in jedem Datenknoten verantwortlich. Der Node Manager in YARN sendet standardmäßig einen Heartbeat an den Resource Manager, der die Informationen der ausgeführten Container und die Verfügbarkeit von Ressourcen für die neuen Container enthält. Es ist für die individuelle Betreuung der Knoten im Cluster verantwortlich und verwaltet den Workflow und die Benutzeraufträge auf einem bestimmten Knoten. Hauptsächlich verwaltet es die Anwendungscontainer, die vom Ressourcenmanager zugewiesen werden. Der Node Manager startet die Container, indem er die angeforderten Containerprozesse erstellt und die Container auf Anforderung des Resource Managers beendet.
3) Behälter
Die Container bestehen aus Ressourcen wie RAM, CPU und Speicher usw. auf einem einzelnen Knoten und werden vom Ressourcenmanager geplant und vom Knotenmanager überwacht. Der Container-Lebenszyklus verwaltet die YARN-Container mithilfe des Container-Startkontexts und ermöglicht den Zugriff auf die Anwendung für die spezifische Verwendung von Ressourcen auf einem bestimmten Host.
4) Anwendungsmaster
Es überwacht die Ausführung von Aufgaben und verwaltet auch den Lebenszyklus von Anwendungen, die auf dem Cluster ausgeführt werden. Ein einzelner Anwendungsmaster wird mit einem Job verknüpft, wenn er an das Framework übergeben wird. Die Hauptverantwortung liegt in der Aushandlung der Ressourcen über den Ressourcenmanager. Es arbeitet mit dem Node Manager zusammen, um die Aufgaben zu überwachen und auszuführen.
Um eine Anwendung über YARN auszuführen, werden die folgenden Schritte ausgeführt.
- Der Client kontaktiert den Ressourcenmanager, der die Ausführung des Anwendungsprozesses anfordert, dh er sendet die YARN-Anwendung.
- Der nächste Schritt besteht darin, dass der Ressourcenmanager nach einem Knotenmanager sucht, der wiederum den Anwendungsmaster in einem Container startet.
- Der Anwendungsmaster kann entweder die Ausführung in dem Container ausführen, in dem er gerade ausgeführt wird, und das Ergebnis dem Client bereitstellen, oder er kann weitere Container vom Ressourcenmanager anfordern, die als verteiltes Computing bezeichnet werden können.
- Der Client kontaktiert dann den Ressourcenmanager, um den Status der Anwendung zu überwachen.
Mit MapReduce in Hadoop Version 1.0 (MRV1) wurde die Anzahl der Karten und Reduzierungsslots pro Knoten definiert. Auch in einem Hadoop-Cluster mussten die Hardwarefunktionen variiert und die Anzahl der Aufgaben auf einem bestimmten Knoten manuell begrenzt werden. Mit YARN wird dieser Mangel jedoch behoben, da der Ressourcenmanager hier die Kapazität jedes Knotens kennt, während er mit dem Knotenmanager kommuniziert, der auf jedem Knoten ausgeführt wird.
Fazit - Hadoop YARN Architektur
YARN hilft bei der Überwindung des Problems der Skalierbarkeit von MapReduce in Hadoop 1.0, da es die Arbeit von Job Tracker in Job Scheduling und Überwachung des Fortschritts der Aufgaben aufteilt. Auch das Problem der Verfügbarkeit ist behoben, da in Hadoop 1.0 der Job Tracker-Fehler zum Neustart von Tasks führte. YARN brachte viele zusätzliche Boni mit sich, wie beispielsweise eine bessere Ressourcennutzung, da es keinen festen Platz für Aufgaben gibt, da es ein zentrales Ressourcenmanagement bietet. Mit YARN werden viele der Probleme in der früheren Version von Hadoop behoben, da die Datenverarbeitung von der Planung und dem Ressourcenmanagement getrennt werden kann. Mit YARN ist es möglich, interaktive Abfragen unabhängig voneinander auszuführen und eine bessere Echtzeitanalyse bereitzustellen.
Empfohlene Artikel
Dies war ein Leitfaden für Hadoop YARN Architecture. Hier werden die verschiedenen Komponenten von YARN erläutert, zu denen der Ressourcenmanager, der Knotenmanager und die Container zusammen mit der Architektur gehören. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -
- Apache Hadoop-Ökosystem
- Hadoop-Ökosystemkomponenten
- Hadoop-Komponenten
- Hadoop-Ökosystem