Der MapReduce-Algorithmus, der in Hadoop zur Datenanalyse eingesetzt wird, ist für die vielfältigen Anwendungsgebiete nicht immer optimal, da er ursprünglich für die Batch-Verarbeitung entwickelt wurde. Um eine größere Skalierbarkeit, Teilbarkeit und Zuverlässigkeit eines Hadoop-Clusters zu erreichen, haben die Entwickler mit Hadoop Yarn deshalb eine hierarchische Modifizierung am Cluster-Framework vorgenommen.
Paralleles Analysieren und Verdichten
Als Teil von Hadoops Kernprojekt wurde Yarn für das Ressourcenmanagement innerhalb einesClusters entwickelt. Das Framework ist für die parallele, verteilte Bearbeitung von Daten in einer Cluster-Umgebung zuständig. Yarn nutzt sogenannte Container, um verschiedene Anwendungen auf den speziellen Hosts voneinander zu trennen – das verbessert die Ressourcennutzung im gesamten Cluster. Neben der klassischen Batch-Verarbeitung lässt sich mit Yarn eine ganze Reihe zusätzlicher Verarbeitungsmodelle wie Graphen-, Stream- und Echtzeitverarbeitung parallel durchführen.
Trennung von Ressourcen- und Job-Management
Yarn entkoppelt die Datenverarbeitung von MapReduce und verteilt die zwei Hauptfunktionen des JobTrackers – Ressourcen-Management und Job-Scheduling – auf zwei separate Daemons: der Daemon ResourceManager und sein pro-Knoten-Slave, der NodeManager, bilden zusammen ein System zur Verwaltung der Anwendungen in verteilter Weise. Der Daemon ApplicationMaster wird vom ResourceManager beauftragt, um Teilaufgaben zusammen mit dem NodeManager auf den einzelnen Nodes auszuführen und zu überwachen. Zusätzlich wird der ResourceManager von einem Scheduler unterstützt, dessen Aufgabe es ist, die noch zur Verfügung stehenden Kapazitäten der laufenden Anwendungen zu identifizieren.Vorteile von Yarn
- Höhere Geschwindigkeit und Effizienz beim Verarbeiten von großen Datenmengen im
Apache Hadoop-System, - die Graphen-, Stream- und Echtzeitverarbeitung in Verbindung mit Impala oder Spark,
- die Auslastung im Hadoop-Cluster wird gesteigert
Effiziente Clusterauslastung
Aufgrund der Teilung in Ressourcenverwaltungs- und Scheduling-Funktionen verbessert Yarn, neben einer höheren Gesamteffizienz, auch die Clusterauslastung: Daten lassen sich vom zugrundeliegenden verteilten Dateisystem und den Datenbanktabellen lesen, auf diese schreiben und aktualisieren. Daraus ergibt sich für Unternehmen ein noch breiteres Spektrum an Hadoop-Anwendungen im Big Data-Bereich.Diese Artikel könnten Sie auch interessieren:
- 10 Big Data-Technologien, die Sie kennen sollten
- Apache Hadoop – ein bewährtes Open Source-Framework
- Apache Hive – das Data Warehouse für Hadoop
- Cloudera Impala – die Lösung für Echtzeitabfragen
- MongoDB – Die Datenbank für alle Fälle
- Pentaho – Flexible Business Intelligence-Plattform
- Infobright – MySQL-Engine mit effektiver Datenkompression
- Apache Spark – Framework für Echtzeitanalysen
- Splunk – Big Data vereinfachen
- Apache Storm – Big Data-Analyse auf Echtzeitbasis