Suchen

HA-HDFS in Hadoop 2.2.x und: Yahoo testet YARN

Hadoop sorgt nun auch für die Hochverfügbarkeit von Big Data

Seite: 4/5

Firmen zum Thema

Federation in HDFS2

Die horizontale Skalierung des Namensdienstes in Hadoop 2.2.x erfolgt durch die Partitionierung des Namensraums über mehrere unabhängige Namensknoten, die sogenannte Federation. Alle Namensknoten greifen unabhängig voneinander auf eine gemeinsame Sammlung von Datenknoten.

Da tanzt der Haddoop-Elefant - das HDFS-Logo
Da tanzt der Haddoop-Elefant - das HDFS-Logo
(Bild: Apache.org)

Jeder dieser Datenknoten registriert sich bei allen Namensknoten des eigenen Cluster; er sendet an sie periodisch ein Herzschlag-Signal sowie Block-Berichte und kann von jedem der Namensknoten Befehle entgegen nehmen. Im Gegensatz dazu „reden“ die Namensknoten überhaupt nicht miteinander; jeder verwaltet nur seinen eigenen Ausschnitt des Namensraums. Beim Hinzufügen oder Entfernen von Namensknoten ist ein Neustart des gesamten Clusters fällig.

HDFS-Snapshots

Snapshots des HDFS-Dateisystems sind ebenfalls eine willkommene Neuerung. Bei HDFS-Snapshots handelt es sich um nicht-beschreibbare Kopien des Dateisystems, die seinen Zustand zu einem definierten Zeitpunkt erfassen (point-in-time copy). Was diesem Feature seinen Reiz verleiht, ist die äußerst gelungene Implementierung.

Ein HDFS-Snapshot entsteht momentan, denn es werden dabei keine DataNodes kopiert. Das Snapshot erfasst lediglich die Liste aller Datenblöcke und die Größe der Dateien. Der Vorgang hat keinen negativen Effekt auf sonstige I/O-Operationen und benötigt in der Regel auch keinen zusätzlichen Arbeitsspeicher (außer wenn das Dateisystem gleichzeitig Schreibzugriffe umsetzt).

Super-User können ...

Änderungen werden in umgekehrter chronologischer Reihenfolge aufgezeichnet, sodass auf die aktuellen Daten direkt zugegriffen werden kann. Der Zustand der Daten für ein Snapshot errechnet HDFS2 durch die Subtraktion betreffender Änderungen von dem aktuellen Zustand des Dateisystems.

Um Snapshots zu erlauben, kommt der folgende Befehl mit Berechtigungen des Super-User zum Einsatz:

hdfs dfsadmin -allowSnapshot <Pfad-zum-snapshotbaren-Verzeichnis>

Der betreffende Verzeichnisbaum lässt sich dann mit den Benutzerrechten des betreffenden Besitzers in einem Snapshot zum Beispiel wie folgt erfassen:

hdfs dfs -createSnapshot <Pfad-zum-snapshotbaren-Verzeichnis> [<snapshotName>]

Alternativ können Admins das Java-API nutzen.

Um den Pfad zu Snapshots zu kennzeichnen, wurde der Objektname .snapshot reserviert. Sollte in dem HDFS-Dateisystem Ihrer bestehenden Hadoop-1.x-Installation diese Zeichenkette vorkommen, müssen sie die betreffenden Objekte vor dem Upgrade unbedingt umbenennen.

(ID:42544712)