Video: How to install Hadoop on Ubuntu single node cluster 2024
In Hadoops frühen Anfängen konzentrierte sich ein Großteil der Diskussion auf die Darstellung eines Single Point of Failure durch den NameNode. Insgesamt hat Hadoop seit jeher eine robuste und fehlertolerante Architektur mit Ausnahme dieses Schlüsselbereichs. Ohne den NameNode gibt es keinen Hadoop-Cluster.
Mit Hadoop 2 können Sie HDFS so konfigurieren, dass ein Active NameNode und ein Standby NameNode vorhanden sind. Der Standby-NameNode muss sich auf einem dedizierten Master-Knoten befinden, der identisch mit dem Master-Knoten konfiguriert ist, der vom Active NameNode verwendet wird.
Der Standby NameNode sitzt nicht im Leerlauf, während der NameNode alle Blockadressanforderungen verarbeitet. Der Standby NameNode, der mit der Aufgabe betraut ist, den Status der Blockpositionen zu behalten und Metadaten im Speicher zu blockieren, übernimmt die Zuständigkeiten der HDFS-Prüfpunkte.
Der Active NameNode schreibt Journaleinträge für Dateiänderungen in die Mehrheit der JournalNode-Services, die auf den Master-Knoten ausgeführt werden. ( Hinweis: Für die HDFS-Hochverfügbarkeitslösung sind mindestens drei Master-Knoten erforderlich, und falls es mehr gibt, kann es nur eine ungerade Zahl geben.)
Wenn ein Fehler auftritt, liest der Standby-Knoten zuerst alle abgeschlossenen Journaleinträge (bei denen die Mehrheit der Journalknoten einen Eintrag hat), um sicherzustellen, dass der neue Active NameNode vollständig konsistent ist mit der Zustand des Clusters.
Zookeeper wird verwendet, um den Active NameNode zu überwachen und die Failover-Logistik zu behandeln, wenn der Active NameNode nicht mehr verfügbar ist. Sowohl die aktiven als auch die Standby-Namensknoten verfügen über dedizierte Zookeeper-Failover-Controller (ZFC), die die Überwachungs- und Failover-Aufgaben ausführen. Im Falle eines Fehlers informiert der ZFC die Zookeeper-Instanzen im Cluster, die dann einen neuen Active NameNode wählen.
Apache Zookeeper bietet Koordinations- und Konfigurationsservices für verteilte Systeme. Daher ist es kein Wunder, dass wir es überall in Hadoop verwenden.