Video: hadoop architecture 2024
YARN, für diejenigen, die gerade an dieser bestimmten Party ankommen, steht für Yet Another Resource Negotiator, ein Tool, das andere Datenverarbeitungs-Frameworks auf Hadoop ausführen kann. Der Ruhm von YARN ist, dass es Hadoop eine elegante Lösung für eine Reihe von langjährigen Herausforderungen bietet.
YARN soll eine effizientere und flexiblere Workload-Planung sowie eine Ressource-Management-Funktion bieten. Beides wird letztendlich dazu führen, dass Hadoop mehr als nur MapReduce-Jobs ausführen kann.
Die Abbildung zeigt allgemein, wie YARN zu Hadoop passt und verdeutlicht auch, wie es Hadoop ermöglicht hat, eine wirklich universelle Plattform für die Datenverarbeitung zu werden. Die folgende Liste gibt den Text der Melodie an:
-
Verteilter Speicher: An der Verschiebung von MapReduce zu YARN hat sich hier nichts geändert - HDFS ist immer noch der Speicher-Layer für Hadoop.
-
Ressourcenmanagement: Das Schlüsselkonzept bei der Umstellung auf YARN von Hadoop 1 ist die Entkopplung des Ressourcenmanagements von der Datenverarbeitung. Dadurch kann YARN Ressourcen für jedes Verarbeitungs-Framework bereitstellen, das für Hadoop geschrieben wurde, einschließlich MapReduce.
-
Verarbeitungsframework: Da es sich bei YARN um eine universelle Ressourcenverwaltungseinrichtung handelt, kann es Clusterressourcen jedem Datenverarbeitungsframework zuweisen, das für Hadoop geschrieben wurde. Das Verarbeitungsframework behandelt dann Anwendungslaufzeitprobleme.
Um die Kompatibilität für den gesamten Code zu gewährleisten, der für Hadoop 1 entwickelt wurde, dient MapReduce als erstes Framework für die Verwendung in YARN. Zum Zeitpunkt dieses Schreibens war das Apache Tez-Projekt ein Inkubatorprojekt in Entwicklung als alternatives Framework für die Ausführung von Pig- und Hive-Anwendungen. Tez wird wahrscheinlich als Standard-Hadoop-Konfiguration erscheinen.
-
Anwendungsprogrammierschnittstelle (API): Mit der Unterstützung für zusätzliche Verarbeitungsframeworks wird Unterstützung für zusätzliche APIs gegeben. Zum Zeitpunkt dieses Schreibens befinden sich Hoya (für die Ausführung von HBase auf YARN), Apache Giraph (für Graphverarbeitung), Open MPI (für die Nachrichtenübergabe in parallelen Systemen) und Apache Storm (für die Verarbeitung von Datenströmen) in aktiver Entwicklung.