Die Lage-Einschätzung der zukünftigen Big-Data-Plattform könnte unterschiedlicher nicht sein Welcher Storage-Anbieter setzt bei HDFS auf den richtigen Elefanten-Treiber?

Autor / Redakteur: Jakob Jung / Rainer Graefen

Das Hadoop Distributed File System ist ein Dateisystem für hohen Datendurchsatz. Es bietet einige Vorteile, viele große Storage-Anbieter setzen bei ihrer Big-Data-Strategie darauf - allerdings ist es nicht unumstritten.

Firmen zum Thema

Kampagne: EMC ist als "Freiheitskämpfer" unterwegs und will den kleinen Hadoop-Elefanten aus dem Käfig befreien.
Kampagne: EMC ist als "Freiheitskämpfer" unterwegs und will den kleinen Hadoop-Elefanten aus dem Käfig befreien.
(Bild: VBM-Archiv)

Das Open Source Projekt Apache Hadoop ist dafür ausgelegt, riesige Mengen an strukturierten und unstrukturierten Daten zu verarbeiten. Das dazugehörige Hadoop Distributed File System (HDFS) soll den Hochgeschwindigkeits-Zugriff auf Anwendungsdaten ermöglichen.

Aktuell ist die Variante HDFS 2.4.0, die im April erschienen ist.

Bildergalerie

Die zwei Seiten einer Medaille

HDFS ist ein verteiltes Dateisystem und bringt gegenüber anderen Storage Dateisystemen einige Vorteile, hat aber auch Nachteile. Die Vorteile liegen in den niedrigen Kosten per Byte, den hohen Bandbreiten für Hadoop Workloads und der hohen Datenzuverlässigkeit.

Nicht zur Geltung kommen diese Vorzüge, wenn ein System nicht für die Skalierbarkeit von Hadoop ausgelegt ist, keine Commodity Hardware oder Open Source Software enthält und nicht die Mapreduce I/O-Struktur nutzt. Außerdem gibt es noch zahlreiche kleinere Bugs.

Dennoch überwiegen die Vorteile, wenn das Design intelligent erfolgt und HDFS tatsächlich in erster Linie für Hadoop genutzt wird.

Knoten mit Blöcken

Grundsätzlich ist HDFS fester Bestandteil von Hadoop. Es ist eine Java-Anwendung, die auf einem Standard-Dateisystem aufsetzt. HDFS nutzt eine Shared Nothing Architektur, alle Knoten sind fest mit Disks verbunden (Direct Attached Storage, DAS). Das Dateisystem verwendet Write-Once, das heißt, eine Datei muss kopiert werden, wenn sie verändert werden soll.

HDFS organisiert Daten in Dateien und Verzeichnisse. Die Dateien werden in Blocks geschrieben mit einer Größe zwischen 64 und 128 MByte, die über Knoten verteilt abgelegt werden. Wohin diese Blocks gespeichert werden, wird über „Name Nodes“ festgelegt.

Die Blocks werden typischerweise dreimal repliziert, um bei Ausfällen ersetzt zu werden. Check-Summen sorgen für die Datenintegrität. Die Replizierung erfolgt als selbstheilender Vorgang und sorgt damit für Fehlertoleranz.

Nur nichts teilen schafft Zuverlässigkeit

Bei der Verwendung von HDFS auf lokalem Direct Attached Storage (DAS) werden die HDFS-Blöcke als Dateien in einem speziellen Verzeichnis abgelegt. Die zugewiesenen Laufwerke werden normalerweise über SAS oder SATA verbunden. Keine Storage-Daten werden mit anderen Knoten geteilt.

So ist sichergestellt, dass das System auch auf billiger, unzuverlässiger Hardware läuft.

Die Vorzüge von HDFS auf lokalem DAS liegen darin, dass Schreibvorgänge parallel erfolgen. Es werden drei Kopien für jeden Dateiblock angelegt (eine Kopie lokal, zwei über remote). Der Jobtracker versucht, Lesevorgänge möglichst lokal durchzuführen.

Nachteilig ist, dass HDFS kein Kernel-basiertes Portable Operating System Interface (POSIX) ist. Es ist deshalb inkompatibel mit Standard-Anwendungen und –Werkzeugen. Die Replizierungskosten sind hoch im Vergleich zu Shared-Disk-Strukturen. Außerdem ist der lokale Speicher (DAS) der Flaschenhals bei der Skalierbarkeit von HDFS auf DAS.

Alternativ zu HDFS auf DAS besteht auch die Möglichkeit, das Dateisystem auf einem Storage Area Network (SAN) zu installieren. Dann sind die Festplatten logische Volumes in Storage Arrays, auf die aus dem gesamten SAN zugegriffen wird.

HDFS bemerkt bei dieser Methode keinen Unterschied, aber die SAN Arrays haben jeder einen eigenen Cache, Redundanz und Replikation. Die Zuverlässigkeit ist also höher als bei DAS und es nicht nötig, immer drei Kopien anzulegen. Dafür wächst bei HDFS auf SAN die Komplexität. Auch die Kostenseite spricht häufig gegen die SAN-Lösung.

Das kleinste gemeinsame Nenner ist bei HDFS noch nicht gefunden

Apache Hadoop gibt es in drei Distributionsvarianten, von

ein Unternehmen, das von HDFS nicht allzu viel hält und auf seine eigene Lösung setzt.

HP hat für diese drei Distributionen eine Reihe von Referenzarchitekturen entwickelt.

Außerdem ist die Analyseplattform HP Vertica komplementär zu Hadoop. Ende Juli 2014 hat HP beschlossen, dieses Riesenunterfangen einzugrenzen und die Zusammenarbeit mit Hortonworks mit 50 Millionen Dollar befördert, so dass hier wohl bald eine engere Zusammenarbeit zwischen beiden Anbietern zu erwarten ist.

EMC integriert Hadoop und setzt mit Smart-Flash auf HDFS auf

Aktuell hat EMC angekündigt, dass die Isilon-Lösungen die gleichzeitige Ausführung mehrerer Instanzen von Apache Hadoop-Distributionen verschiedener Anbieter und außerdem mehrere Versionen von HDFS unterstützen.

HDFS ist in Isilon nativ integriert, so dass der Anwender keine zusätzliche Hadoop-Infrastruktur bereitstellen muss. EMC hat darüber hinaus vor, eine Smart-Flash-Plattform herauszubringen, die auf HDFS aufsetzt. EMC ist damit der einzige größere Storage-Anbieter, der schon auf der Hardware-Seite HDFS implementiert.

Plattformvielfalt

Netapp verlässt sich auf die Partnerschaft mit Cloudera. Beide Anbieter haben die Netapp Open Solution for Hadoop (NOSH) entwickelt, die HDFS-Metadaten integriert.

IBM hat mit InfoSphere BigInsights eine Plattform auf der Basis von Hadoop entwickelt mit HDFS als wesentlichen Bestandteil.

Und Hitachi Data Systems bietet eine Referenzarchitektur für die Cloudera Distribution und die Hitachi Compute Rack 220S Server an.

(ID:42847966)