Hadoop 1 vs. Hadoop 2

Hadoop ist ein, sich ständig weiterentwickelndes, Framework zur verteilten Speicherung und Verarbeitung von sehr großen Datenbeständen. Bisher wurde das MapReduce-Verfahren zur Resourcenverwaltung und -zuteilung für verteilte Verarbeitungsjobs eingesetzt. Um die Hadoop-Plattform flexibler aufzustellen und auch Verarbeitungs-Algorithmen jenseits von MapReduce zu ermöglichen, arbeitete das Apache-Projekt an einem neuen Verfahren zur Resourcenallokation und Verwaltung von Rechenkapazitäten im Cluster. Die Rede ist von YARN. Neben MapReduce wurde auch das Hadoop Distributed File System (HDFS) an die bestehenden Anforderungen angepasst.

Der Einsatz von YARN hat die Software-Architektur von Hadoop so grundlegend verändert, dass man jetzt von Hadoop 2 spricht. 

 

→ Weg von einer reinen Datenverarbeitung → Hin zu einer Art Datenbetriebssystem
→ HDFS2 ist das Dateisystem → YARN ist das Betriebssystem        (Datenverarbeitungsframework)

MapReduce 1

Hauptkompontenten:

  • JobTracker
  • TaskTracker

YARN (MapReduce 2)

Die Grundidee von YARN war es, die beiden Komponenten in verschiedene Entitäten einzuteilen. In Hadoop 2.x existieren die Tracker nicht mehr als eigenständige Module. Sie wurden durch drei gänzlich neue Entitäten ersetzt:

  • Der ResourceManager ist der Scheduler, der die verfügbaren Ressourcen im Cluster-Netzwerk alloziert und aufteilt.
  • Der NodeManager stellt den Befehlsempfänger des ResourceManagers dar. Der NodeManager läuft auf jedem Node innerhalb eines Clusters und ist nur für die Ressourcen der eigenen Node verantwortlich.
  • Jeder YARN-Client implementiert einen ApplicationMaster, der von ResourceManager und NodeManager Resourcen anfragt und zugeteilt bekommt. Auf den zugeteilten Containern führt er die eigentliche Anwendung aus und überwacht sie.

HDFS 1

besteht im wesentlichen aus:

  • NameNode (Master)
  • DataNode (Slave)

In HDFS 1 stellte der NameNode, als einzelne zentrale Kontrollinstanz, bei einem Ausfall den Single Point of Failure dar.

Das führt zu einer schlechteren Performance, wenn das Cluster ausgeweitet oder skaliert werden soll.

HDFS 2

HDFS 2 verbessert einige Schwachpunkte von   HDFS 1:

  • NameNode HA (High Availability) ist eine automatisierte Ausfallsicherung inklusive Hot Standby. Bei einem Ausfall wird automatisch die Ersatzkomponente aktiviert. Verwaltet wird das – ähnlich wie von HBase Clustern bekannt – über ein ZooKeeper-Ensemble.
  • Snapshots: Eine weitere Funktionalität des neuen HDFS. Snapshots ermöglichen es, das System wieder in einen früheren Status zurückzuversetzen – beispielsweise im Falle eines Ausfalls oder einer Störung.
  • Federation: Klare Trennung zwischen Namespace und Speicherschicht. Unter einem Dateisystem können nun mehrere NameNodes (Namespaces) – im gesamten Cluster – geführt werden. Das führt zu erhöhter Sicherheit und besserer Isolation.

 

Das YARN-Design zeigt Erfolge

Seit der Umstellung auf YARN hat Hadoop einen großen Zuwachs in der Vielfalt der unterstützen Cluster-Applikationen jenseits MapReduce verzeichnen können. Die Architektur-Entscheidung geht auf. Viele Cluster-Applikationen aus Hadoop-Umfeld wie HBaseSparkStormKafkaSamzaHamaGiraph oder Flink, sind bereits auf YARN umgestellt oder unterstützen den Betrieb in einem Cluster, der seine Resourcen über YARN verwaltet. Weitere Projekte wie z.B. SolrCloud arbeiten an einer Integration.

Abwärtskompatibilität

Um den Umstieg von Hadoop 1 auf Hadoop 2 unkompliziert zu gestalten, bieten alle Hadoop 2 Komponenten Compatibility-Funktionen an. So lässt sich ein Hadoop 2 Cluster für Anwender des alten Hadoop 1 zunächst genau so benutzen, wie sie es gewohnt sind. Beispielsweise lassen sich MapReduce-Jobs über YARN ausführen ohne sich mit den Details von YARN auseinandersetzen zu müssen.

Diese Anwender-freundlichen Upgrade-Strategien der Hadoop-Community zeigen, dass Hadoop mit einer transparenten und zukunftssicheren Strategie behutsam weiterentwickelt wird. Das schafft Investitionssicherheit für Nutzer im Enterprise-Umfeld und eine Verlässlichkeit, die man bei kommerziellen Herstellern proprietärer Produkte oft vermisst.