Hadoop Distributed File System (HDFS) Hochverfügbarkeit

Oft in Hadoop den Kinderschuhen steckt, wurde eine große Menge an Diskussion über die Darstellung eines Single Point of Failure des NameNode zentriert. Hadoop, insgesamt hat immer eine robuste und fehlertolerante Architektur, mit der Ausnahme von diesem Schlüsselbereich hatte. Ohne die NameNode, gibt es keine Hadoop-Cluster.

Mit Hadoop 2 können Sie HDFS so konfigurieren, dass es eine aktive NameNode und ein Standby-NameNode ist. Die Standby-NameNode muss auf einem dedizierten Master-Knoten zu sein, die durch die aktive NameNode verwendeten identisch mit dem Master-Knoten konfiguriert ist.

bild0.jpg

Die Standby-NameNode sitzt nicht untätig, während die NameNode kümmert sich um alle Blockadressanforderungen. Die Standby-NameNode, mit der Aufgabe betraut, den Zustand des Blocks Standorte und Block-Metadaten im Speicher zu halten, übernimmt die HDFS Prüfpunktverfahren Verantwortlichkeiten.

Die Active NameNode schreibt Journaleinträge auf Datei Änderungen an der Mehrheit der JournalNode Dienste, die auf den Master-Knoten laufen. (Hinweis: Die HDFS Hochverfügbarkeitslösung erfordert mindestens drei Master-Knoten, und wenn es mehr sind, kann es nur eine ungerade Zahl sein.)

Wenn ein Fehler auftritt, liest die Standby-Knoten zunächst alle abgeschlossen Journaleinträge (wo eine Mehrheit der Journal-Knoten einen Eintrag haben, mit anderen Worten), um sicherzustellen, dass die neue Active NameNode mit dem Zustand des Clusters vollständig konsistent ist.

Zookeeper wird verwendet, um die aktive NameNode zu überwachen und die Failover-Logistik zu handhaben, wenn das Active NameNode nicht mehr verfügbar ist. Sowohl die aktiven und Standby NameNodes dediziert Zookeeper Failover-Controller (ZFC), die die Überwachung und Failover-Aufgaben ausführen. Im Falle eines Ausfalls informiert der ZFC die Zookeeper Instanzen auf dem Cluster, der dann einen neuen Aktiven NameNode wählen.

Apache Zookeeper ermöglicht die Koordination und Konfigurationsdienste für verteilte Systeme, so ist es kein Wunder, dass wir es gebraucht ganzen Ort in Hadoop.

Menü