HBase
 sql >> Datenbank >  >> NoSQL >> HBase

Was ist das automatische NameNode-Failover in Hadoop HDFS?

In diesem Hadoop-Tutorial , werden wir das Konzept des automatischen NameNode-Failovers in Hadoop besprechen. Zuerst werden wir sehen, was ein Failover ist und welche Arten von Failover es gibt. Dann behandeln wir HDFS automatisches Failover in Hadoop.

Komponenten des automatischen Hadoop-Failovers in HDFS, z. B. ZooKeeper-Quorum, ZKFailoverController-Prozess (ZKFC). Abschließend werden wir auch die Rollen dieser beiden Komponenten in Hadoop besprechen .

Was ist Failover?

Der Prozess, bei dem das System seine Kontrolle auf das sekundäre System überträgt, wenn es einen Fehler erkennt, wird als Failover bezeichnet .

Es gibt zwei Arten von Failover:

  • Graceful Failover – Der Administrator initiiert Graceful Failover manuell, beispielsweise im Fall einer routinemäßigen Wartung. Das System aktiviert nicht automatisch ein Failover vom aktiven zum Standby-Namenode, selbst wenn der aktive Node im Graceful Failover fehlgeschlagen ist.
  • Automatisches Failover –  Automatisches Failover ist der Prozess, bei dem das System seine Kontrolle automatisch an den Standby-NameNode überträgt, wenn der NameNode ausfällt. In Hadoop erfolgt ein automatisches Failover im Falle von NameNode-Ausfällen. Aber im Falle eines NameNode-Ausfalls wird Failover automatisch gestartet. Dieses Failover ist ein automatisches Failover.

Automatisches NameNode-Failover in Hadoop

Automatisches Failover in Hadoop fügt einer Hadoop HDFS-Bereitstellung die folgenden Komponenten hinzu:

  • ZooKeeper-Quorum.
  • ZKFailoverController-Prozess (ZKFC).

1. ZooKeeper-Quorum

Zookeeper in Hadoop ist ein zentralisierter Dienst. Es verwaltet Konfigurationsinformationen, Benennungen und bietet eine verteilte Synchronisation. Es bietet auch Gruppendienste an. Zookeeper verwaltet und koordiniert auch eine große Gruppe von Maschinen.

Aus den folgenden Gründen ist die Implementierung des automatischen HDFS-Failovers auf Zookeeper angewiesen:

  • Fehlererkennung- Zookeeper in Hadoop unterhält eine Sitzung mit den Namensknoten. Bei einem Fehler läuft die Sitzung ab. Der Zookeeper informiert also andere Namenodes, um den Failover-Prozess zu starten.
  • Aktive NameNode-Wahl- Ein einfacher Mechanismus, der von Zookeeper bereitgestellt wird, um nur einen Knoten als aktiv auszuwählen. Zum Zeitpunkt des Ausfalls eines aktiven Namensknotens kann ein anderer Namensknoten eine exklusive Sperre in Zookeeper übernehmen, die angibt, dass er der nächste aktive Namensknoten werden möchte.

2. ZKFailoverController (ZKFC)

ZKFC ist ein Client von Zookeeper in Hadoop, der den Namenode-Status überwacht und verwaltet. Jede der Maschinen, die den Namenode-Dienst ausführen, führt auch ein ZKFS aus. Es kann Folgendes verarbeiten:

  • Gesundheitsüberwachung – Mit einem Health-Check-Befehl pingt ZKFS seinen lokalen Namenode an. Das ZKFS betrachtet den Namenode als gesund, solange der Namenode zu einem Zeitpunkt antwortet. Die Zustandsüberwachung markiert einen Knoten als fehlerhaft, wenn der Knoten abgestürzt ist oder in einen fehlerhaften Zustand übergegangen ist.
  • Tierpfleger-Sitzungsverwaltung –  ZKFC hält eine Sitzung in Zookeeper offen, wenn der lokale Namenode fehlerfrei ist. Es enthält auch einen speziellen "Sperr"-Znode, wenn der lokale Namenode aktiv ist. Wenn die Sitzung abläuft, wird die Sperre automatisch gelöscht.
  • Tierpfleger-basierte Wahl –  Wenn in HDFS der lokale Namenode fehlerfrei ist und der ZKFC sieht, dass derzeit kein anderer Knoten den Sperr-Znode hält, wird er selbst versuchen, die Sperre zu erhalten. Und wenn es erfolgreich ist, hat es die Wahl gewonnen“, und es führt ein Failover durch, um seinen lokalen Namenode aktiv zu machen.

Schlussfolgerung

Daher startet das automatische Failover in Hadoop automatisch im Falle eines NameNode-Ausfalls. Automatisches Failover fügt ZooKeeper-Quorum- und ZKFailoverController-Process (ZKFC)-Komponenten zu einer HDFS-Bereitstellung hinzu.

Zookeeper in Hadoop ist ein Dienst, der die automatische Failover-Fähigkeit in HDFS bereitstellt .