Hadoop 3 soll die Effizienz des Big-Data-Frameworks verbessern

Eine neues Encoding für HDFS reduziert den Speicherbedarf, und YARN Timeline Service v.2 erweitert die im YARN Timeline Server eingeführten Dienste zum Speichern anwendungsspezifischer Informationen.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Hadoop 3 soll die Effizienz des Big-Data-Frameworks verbessern
Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Vier Jahre nach Version 2.0 hat die Apache Software Foundation nun Hadoop 3.0.0 freigegeben. Die Entwicklung der neuen Hauptversion erfolgte parallel zu den 2.x-Releases, und die erste Alpha hatten die Macher bereits im September 2016 veröffentlicht. Nun erachten sie nach einer gut zweimonatigen Betaphase Hadoop 3 als stabil für den produktiven Einsatz.

Zu den Neuerungen gehört unter anderem eine alternative Art der Replikation im Hadoop Distributed File System (HDFS): Das sogenannte Erasure Encoding bringt einen maximalen Overhead von 50 Prozent mit sich. Beim bisher verwendeten 3x Replication Scheme lag er bei 200 Prozent. Der Preis dafür ist jedoch eine höhere Netzwerk- und CPU-Auslastung, sowohl für die HDFS-Clients als auch für die DataNodes. Außerdem sind einige HDFS-Schreiboperationen wie hflush, hsync und append nicht möglich.

Hadoop 3 enthält zudem den YARN Timeline Service v.2 als Nachfolger des YARN Timeline Server. Er dient zum Speichern der anwendungsspezifischen Informationen und von Informationen über abgeschlossene Applikationen. So können Entwickler beispielsweise die Zahl der Map- und Reduce-Tasks im Service speichern, und die Informationen lassen sich über eine REST API abrufen.

YARN Timeline Service v.2 soll im Vergleich zum Vorgänger vor allem die Skalierbarkeit verbessern und einfacher zu verwenden sein. Der Dienst separiert neuerdings die Schreib- von den Leseoperationen. Erstere erledigen Kollektoren, von denen jeweils einer für eine einzelne YARN-Applikation zuständig ist. Das Lesen geschieht über separate Instanzen, und die Reader sind über eine REST API angebunden. Als primäres Speichersystem kommt nun HBase zum Einsatz. Der YARN Timeline Service v.2 befindet sich derzeit noch in der Preview-Phase.

Die Schreib- und Leseoperationen sind in YARN Timeline Service v.2 klar voneinander getrennt.

(Bild: Apache Foundation)

Neu ist zudem das erweiterte Framework für YARN Resource Types, um Ressourcen jenseits der CPU und des Hauptspeichers zu verwalten. Besonders mit Blick auf containerisierte und Machine-Learning-Anwendungen lassen sich nun auch GPU und Plattenspeicher managen. Die neu eingeführte YARN Federation ist mit der bereits vorhandenen HDFS Federation vergleichbar und soll die Skalierbarkeit von YARN auf mehrere Zehntausend Knoten erhöhen.

Weitere Neuerungen wie die Opportunistic Container Execution lassen sich dem Blogbeitrag entnehmen. Hadoop 3.0.0 benötigt nun die Java-8-Laufzeitumgebung. In Kürze sind aktualisierte Versionen von HBase, Hive und Phoenix zu erwarten, die ebenfalls für Java 8 kompiliert sein werden. Beim Verfassen dieser Meldung war auf der Download-Seite lediglich die Beta-Version von Hadoop 3 verfügbar, aber das fertige Release sollte in Kürze folgen.

Hadoop ist ein Vorreiter im Bereich Big Data, und der Elefant trotzt weiterhin jeglichen Stimmen, die in Zeiten von Apache Spark und Flink das Ende des Urgesteins sehen. Ihre Anfänge hatte die Plattform bei Google bereits 2003, das zentrale MapReduce-Dateisystem entstand jedoch erst 2004. Der Name Hadoop kam erst später auf, und Version 0.1 erschien 2006. Bis zum 1.0-Release unter dem Dach der Apache Foundation zogen weitere sechs Jahre ins Land. Die Entwicklung zur zweiten Hauptversion benötigte anschließend gerade mal ein Jahr. Dagegen ist die vierjährige Phase bis zum aktuellen Release wieder behäbiger. (rme)