ZooKeeper-Wartung

Edge for Private Cloud Version 4.16.09

ZooKeeper-Ensembles sind so konzipiert, dass sie funktionieren, ohne Datenverlust, selbst wenn einem oder mehreren ZooKeeper-Knoten. Diese Ausfallsicherheit kann effektiv genutzt werden, um die Wartung ZooKeeper-Knoten ohne Systemausfallzeit.

Über ZooKeeper und Edge

In Edge enthalten ZooKeeper-Knoten Konfigurationsdaten über den Speicherort und die Konfiguration von die verschiedenen Edge-Komponenten und benachrichtigt die verschiedenen Komponenten über Konfigurationsänderungen. Alle Unterstützte Edge-Topologien für ein Produktionssystem geben an, dass mindestens drei ZooKeeper-Topologien verwendet werden sollen. Knoten.

Verwenden Sie die Operatoren ZK_HOSTS und ZK_CLIENT_HOSTS-Eigenschaften im Edge-Konfigurationsdatei zur Angabe der ZooKeeper-Knoten. Für die Prüfung

ZK_HOSTS="$IP1 $IP2 $IP3" 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" 

Dabei gilt:

  • ZK_HOSTS – Gibt an IP-Adressen der ZooKeeper-Knoten Die IP-Adressen müssen auf der Seite alle ZooKeeper-Knoten.

    Listen Sie in einer Umgebung mit mehreren Rechenzentren alle ZooKeeper-Knoten aus allen Rechenzentren auf.
  • ZK_CLIENT_HOSTS Gibt die IP-Adressen der ZooKeeper-Knoten an, die nur von diesem Rechenzentrum verwendet werden. IP-Adresse Adressen müssen auf allen ZooKeeper-Knoten im Rechenzentrum in der gleichen Reihenfolge aufgelistet sein.

    In einer einzelnen Rechenzentrumsinstallation sind dies dieselben Knoten, wie von ZK_HOSTS angegeben. In einer Umgebungen mit mehreren Rechenzentren sollte die Edge-Konfigurationsdatei für jedes Rechenzentrum nur die ZooKeeper-Knoten für dieses Rechenzentrum

Standardmäßig werden alle ZooKeeper-Knoten als Voter-Knoten festgelegt. Das bedeutet, dass die Knoten alle an der Wahl des ZooKeeper-Leaders teilnehmen. Sie können den „:observer“-Modifikator mit ZK_HOSTS, um anzugeben, dass die Notiz ist ein Beobachter-Knoten und kein Wähler. Ein Beobachterknoten ist nicht an die Wahl des Leaders.

In der Regel geben Sie den Modifikator „:observer“ an, wenn Sie mehrere Edge-Daten erstellen. oder wenn ein einzelnes Rechenzentrum eine große Anzahl von ZooKeeper-Knoten hat. Beispiel: In einer Edge-Installation mit 12 Hosts und zwei Rechenzentren, ZooKeeper auf Knoten 9 im Rechenzentrum 2 ist die Beobachter:

Anschließend verwenden Sie die folgenden Einstellungen in Ihrer Konfigurationsdatei für Rechenzentrum 1:

ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"

Und für Rechenzentrum

ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"

Führungskräfte, Follower, Wähler und Beobachter

In einer ZooKeeper-Installation mit mehreren Knoten wird einer der Knoten als Leader festgelegt. Alle anderen ZooKeeper-Knoten werden als Follower festgelegt. Lesevorgänge können zwar von jedem ZooKeeper-Knoten werden, werden alle Schreibanfragen an den Leader weitergeleitet. Beispiel: Eine neue Nachricht Prozessor wird zu Edge hinzugefügt. Diese Informationen werden an den ZooKeeper-Leader gesendet. Alle Follower und replizieren Sie die Daten dann.

Zum Zeitpunkt der Edge-Installation legen Sie jeden ZooKeeper-Knoten als Voter oder Beobachter fest. Die Der Leader wird dann von allen ZooKeeper-Knoten des Voters gewählt. Die einzige Voraussetzung für die Wahl eines Leader ist, dass ein Quorum funktionierender ZooKeeper-Voterknoten verfügbar sein muss. A Quorum bedeutet, dass mehr als die Hälfte aller ZooKeeper-Knoten der Wahl in allen Rechenzentren funktionsfähig sein.

Wenn kein Quorum von Wählerknoten verfügbar ist, kann kein Leader gewählt werden. In diesem Szenario Der Zookeeper kann keine Anfragen bedienen. Das bedeutet, dass Sie keine Anfrage an das Edge-Management Server verarbeiten, Management API-Anfragen verarbeiten oder sich bei der Edge-Benutzeroberfläche anmelden, bis das Quorum wiederhergestellt ist.

Zum Beispiel in einer einzelnen Rechenzentrumsinstallation:

  • Sie haben drei ZooKeeper-Knoten installiert
  • Alle ZooKeeper-Knoten sind Wähler
  • Das Quorum besteht aus zwei funktionierenden Wählerknoten.
  • Wenn nur ein Wählerknoten verfügbar ist, funktioniert das ZooKeeper-Ensemble nicht.

In einer Installation mit zwei Rechenzentren:

  • Sie haben drei ZooKeeper-Knoten pro Rechenzentrum installiert, also insgesamt sechs Knoten.
  • Rechenzentrum 1 hat drei Voterknoten
  • Rechenzentrum 2 hat zwei Wählerknoten und einen Beobachterknoten
  • Die Beschlussfähigkeit basiert auf den fünf Wählern in beiden Rechenzentren und ist daher drei funktionierende Wählerknoten
  • Wenn nur zwei oder weniger Wählerknoten verfügbar sind, kann das ZooKeeper-Ensemble nicht Funktion

Das Hinzufügen von Knoten als Voter oder Beobachter

Aufgrund Ihrer Systemanforderungen müssen Sie möglicherweise zusätzliche ZooKeeper-Knoten zu Ihrem Edge hinzufügen. Installation. Mit der Funktion Hinzufügen von ZooKeeper Knoten finden Sie eine Anleitung zum Hinzufügen zusätzlicher ZooKeeper-Knoten zu Edge. Beim Hinzufügen ZooKeeper-Knoten müssen Sie die Art der hinzuzufügenden Knoten berücksichtigen: Wähler oder Beobachten.

Achten Sie darauf, dass genügend Wählerknoten vorhanden sind, damit bei Ausfall eines oder mehrerer Wählerknoten dass das ZooKeeper-Ensemble weiterhin funktionieren kann, was bedeutet, dass noch ein Quorum von Wählerknoten vorhanden ist verfügbar. Durch das Hinzufügen von Wählerknoten erhöhen Sie das Quorum, sodass Sie dass mehr Wählerknoten ausgefallen sind.

Das Hinzufügen zusätzlicher Voterknoten kann sich jedoch negativ auf die Schreibleistung auswirken, da Operationen erfordern, dass das Quorum sich auf die Leader einigen muss. Die Zeit, die benötigt wird, um die beste Variante zu ermitteln basiert auf der Anzahl der Voterknoten, die zunimmt, je mehr Wählerknoten hinzugefügt werden. Daher möchten Sie nicht, dass alle Knoten zu wählen.

Anstatt Voterknoten hinzuzufügen, können Sie Beobachterknoten hinzufügen. Das Hinzufügen von Beobachterknoten erhöht die Leseleistung des gesamten Systems, ohne den Mehraufwand für die Auswahl einer führenden Person zu erhöhen, Beobachterknoten nicht abstimmen und haben keine Auswirkung auf die Quorumgröße. Wenn also ein Beobachterknoten hat das keinen Einfluss auf die Fähigkeit des Ensembles, eine Führungskraft zu wählen. Den Beobachter verlieren, Knoten können zu einer Verschlechterung der Leseleistung des ZooKeeper-Ensembles führen, da es weniger Knoten für Dienstdatenanfragen verfügbar.

In einem einzelnen Rechenzentrum empfiehlt Apigee, unabhängig davon nicht mehr als fünf Wähler zu haben. Anzahl der Beobachterknoten. In zwei Rechenzentren empfiehlt Apigee, dass Sie keine weiteren Rechenzentren als neun Wähler (fünf in einem Rechenzentrum und vier in dem anderen). Anschließend können Sie beliebig viele je nach Systemanforderungen.

Hinweise zur Wartung

Die Wartung von ZooKeeper kann in einem voll funktionsfähigen Ensemble ohne Ausfallzeiten durchgeführt werden, falls es jeweils auf einem einzelnen Knoten ausgeführt. Indem Sie dafür sorgen, dass nur ein ZooKeeper-Knoten können Sie sicherstellen, dass immer ein Quorum von Wählerknoten verfügbar ist, Leader.

Wartung in Mehrere Rechenzentren

Wenn Sie mit mehreren Rechenzentren arbeiten, denken Sie daran, dass das ZooKeeper-Ensemble keine zwischen Rechenzentren unterscheiden. ZooKeeper-Assemblies zeigen alle ZooKeeper-Knoten in allen Rechenzentren als ein Ensemble

Der Standort der Wählerknoten in einem bestimmten Rechenzentrum spielt bei der Durchführung von ZooKeeper keine Rolle. Quorumberechnungen. Einzelne Knoten können über mehrere Rechenzentren hinweg ausfallen, solange ein Quorum im gesamten Ensemble erhalten bleiben, dann funktioniert ZooKeeper weiterhin.

Auswirkungen auf die Wartung

Gelegentlich müssen Sie einen ZooKeeper-Knoten zur Wartung abschalten, entweder als Wähler oder einen Beobachterknoten. Beispielsweise müssen Sie möglicherweise die Edge-Version auf dem Knoten aktualisieren, könnte die Maschine, die ZooKeeper hostet, fehlschlagen oder der Knoten für andere Netzwerkfehler verursacht.

Wenn es sich bei dem ausgefallenen Knoten um einen Beobachterknoten handelt, die Leistung des ZooKeeper-Ensembles, bis der Knoten wiederhergestellt ist. Wenn der Knoten ein Wähler ist Knoten kann die Funktionsfähigkeit des ZooKeeper-Ensembles durch den Verlust eines Knotens beeinträchtigt werden, der am Prozess zur Wahl des Leaders teilnimmt. Unabhängig davon, aus welchem Grund ist es wichtig, ein Quorum der verfügbaren Wählerknoten aufrechtzuerhalten.

Wartungsverfahren

Sie sollten Wartungsarbeiten erst durchführen, nachdem Sie sichergestellt haben, dass ein ZooKeeper funktioniert. Dabei wird vorausgesetzt, dass Beobachterknoten funktionieren Wählerknoten während der Wartung verfügbar sind, um ein Quorum aufrechtzuerhalten.

Wenn diese Bedingungen erfüllt sind, kann ein ZooKeeper-Ensemble beliebiger Größe die ohne Datenverlust oder erhebliche Auswirkungen auf die Leistung. Dieses bedeutet, dass Sie an jedem Knoten im Ensemble Wartungen durchführen können, solange er sich auf einem Knoten befindet um jeweils einen Knoten zu erstellen.

Gehen Sie bei der Wartung wie folgt vor, um den Typ eines ZooKeeper-Knoten (Anführer, Wähler oder Beobachter):

  1. Wenn es nicht auf dem ZooKeeper-Knoten installiert ist, installieren Sie nc:
    > sudo yum install nc
  2. Führen Sie den folgenden nc-Befehl auf dem Knoten aus:
    > Echo-Statistik | nc localhost 2181

    Wobei 2181 der ZooKeeper-Port ist. Die Ausgabe sollte so aussehen:
    Zookeeper-Version: 3.4.5-1392090, erstellt am 30.09.2012 17:52 GMT
    Clients: /a.b.c.d:xxxx[0](queued=0,recved=1,sent=0)
    Minimale/durchschnittliche/maximale Latenz: 0/0/0
    Empfangen: 1
    Gesendet: 0
    Verbindungen: 1
    Ausstehend: 0
    Zxid: 0xc00000044
    Modus: regelmäßiger Leser
    Knotenanzahl: 653


    In der Zeile Modus der Ausgabe Für die Knoten sollten Sie observer, leader oder Follower sehen (d. h. einen Wähler, der nicht der Leader) abhängig von der Knotenkonfiguration.

    Hinweis: In einer eigenständigen Installation von Edge mit einem einzigen ZooKeeper-Knoten wird der Der Modus ist auf eigenständig eingestellt.
  3. Wiederholen Sie die Schritte 1 und 2 auf jedem ZooKeeper-Knoten.

Zusammenfassung

Die beste Möglichkeit zur Wartung eines ZooKeeper-Ensembles besteht darin, die Wartung für einen Knoten pro Knoten . Denk daran:

  • Sie müssen während der Wartung ein Quorum von Wählerknoten aufrechterhalten, damit ZooKeeper bleibt funktionsfähig
  • Das Ausschalten eines Beobachterknotens hat keinen Einfluss auf das Quorum oder die Fähigkeit, einen Leader auszuwählen
  • Das Quorum wird für alle ZooKeeper-Knoten in allen Rechenzentren berechnet.
  • Wartung des nächsten Servers fortsetzen, nachdem der vorherige Server betriebsbereit ist
  • ZooKeeper-Knoten mit dem Befehl „nc“ prüfen