So richten Sie Redis für eine hohe Verfügbarkeit mit Sentinel in CentOS 8 - Teil 2 ein

So richten Sie Redis für eine hohe Verfügbarkeit mit Sentinel in CentOS 8 - Teil 2 ein

Redis bietet eine hohe Verfügbarkeit über Redis Sentinel verteiltes System. Wächter hilft zu überwachen Redis Instanzen, Fehler erkennen und werden Rollen -Switches automatisch erfüllen, wodurch a aktiviert werden können Redis Einsatz, um jeglichen Fehler zu widerstehen.

Es verfügt über die Überwachung von Redis Instanzen (Master und Replicas), unterstützt die Benachrichtigung über andere Dienste/Prozesse oder den Systemadministrator über ein Skript, automatisches Failover, um eine Replik für einen Master zu werben.

Dieser Artikel zeigt, wie man eingerichtet wird Redis für hohe Verfügbarkeit mit Redis Sentinel In Centos 8, einschließlich Konfigurieren von Sentinels, Überprüfung des Setup -Status und Testen a Wächter Failover.

Voraussetzung:

  1. So richten Sie die Redis -Replikation (mit einem Cluster -Modus deaktiviert) in CentOS 8 - Teil 1 ein

Testumgebung einrichten

Master Server und Sentinel1: 10.42.0.247 Redis Replica1 und Sentinel2: 10.42.0.21 Redis Replica2 und Sentinel3: 10.42.0.34 
Redis Sentinel Setup Logical Diagramm

Entsprechend der Redis Sentinel Dokumentation, man braucht mindestens drei Wächter Instanzen für einen robusten Einsatz. In Anbetracht unseres oben genannten Einrichtungs Meister scheitert, Sentinels2 Und Sentinel3 stimmt über den Fehler zu und kann ein Failover autorisieren, wodurch die Kundenbetriebe fortgesetzt werden können.

Schritt 1: Starten und Aktivieren von Redis Sentinel -Service

1. An Centos 8, Die Redis Sentinel Der Service wird neben dem installiert Redis Server (den wir bereits im Redis -Replikations -Setup gemacht haben).

Um die zu starten Redis Sentinel -Dienst und ermöglicht es, den folgenden automatisch mit dem Systemstart zu beginnen Systemctl Befehle. Bestätigen Sie auch, dass es in Betrieb ist, indem Sie seine überprüft Status (Tun Sie dies auf allen Knoten):

# SystemCTL Start redis-sentinel # systemctl aktivieren redis-sentinel # systemctl status redis-sentinel 
Starten Sie den Redis -Sentinel -Service

Schritt 2: Konfigurieren von Redis Sentinel auf allen Redis -Knoten

2. In diesem Abschnitt erklären wir, wie man konfiguriert wird Wächter auf alle unsere Knoten. Der Wächter Der Service verfügt über ein ähnliches Konfigurationsformat wie das Redis Server. Verwenden Sie die Konfiguration, um es zu konfigurieren /etc/redis-sentinel.Conf Selbstdokumentierte Konfigurationsdatei.

Erstellen Sie zunächst eine Sicherung der Originaldatei und öffnen Sie sie zur Bearbeitung.

# CP /etc /Redis-Sentinel.conf /etc /redis-sentinel.Conf.orig # vi /etc /Redis-Sentinel.Conf 

3. Standardmäßig hört Sentinel auf Port zu 26379, Überprüfen Sie dies in allen Fällen. Beachten Sie, dass Sie das verlassen müssen binden Parameter kommentiert (oder auf festgelegt auf 0.0.0.0).

Port 26379 
Setzen Sie die Sentinel -Listen -Schnittstelle und den Port

4. Als nächstes sagen Sie es Wächter Um unsere zu überwachen Meister, und es in der “zu betrachten“Objektiv untenGeben Sie nur dann an, wenn mindestens 2 Quorum -Sentinels einverstanden sind. Sie können ersetzen “mein Meister”Mit einem benutzerdefinierten Namen.

#On Master Server und Sentinel1 Sentinel Monitor MyMaster 127.0.0.1 6379 2 #on Replica1 und Sentinel2 Sentinel Monitor MyMaster 10.42.0.247 6379 2 #on Replica1 und Sentinel3 Sentinel Monitor MyMaster 10.42.0.247 6379 2 
Stellen Sie Redis Master auf, um zu überwachen

Wichtig: Die Sentinel Monitor -Anweisung muss vor dem Sentinel platziert werden Auth-Pass Anweisung, um den Fehler zu vermeiden “Kein solcher Meister mit dem angegebenen Namen.”Beim Neustarten des Sentinel -Service.

5. Wenn der Redis Master to Monitor verfügt über ein Kennwortsatz (in unserem Fall hat der Master) das Kennwort, damit die Sentinel -Instanz mit der geschützten Instanz authentifiziert werden kann.

 Sentinel Auth-Pass MyMaster [E-Mail geschützt] 
Masterauth -Passwort festlegen

6. Setzen Sie dann die Anzahl der Millisekunden, die der Meister (oder eine angehängte Replik oder Wachposten) nicht erreichbar sein sollte, um ihn in der “zu betrachtenSubjektiv unten" Zustand.

Die folgende Konfiguration bedeutet, dass der Master als fehlgeschlagen angesehen wird, sobald wir innerhalb von 5 Sekunden keine Antwort von unseren Pings erhalten (1 Sekunde entspricht 1000 Millisekunden).

Sentinel Down-After-Millisekunden MyMaster 5000 
Stellen Sie die Zeit für den Master ab

7. Legen Sie als Nächstes das Failover -Timeout in Millisekunden fest, das viele Dinge definiert (lesen Sie die Dokumentation des Parameters in der Konfigurationsdatei).

Sentinel Failover-Timeout MyMaster 180000 
Setzen Sie im Zeitüberschreitungsfehler

8. Stellen Sie dann die Anzahl der Repliken ein, die so neu konfiguriert werden können, um den neuen Master nach einem Failover gleichzeitig zu verwenden. Da wir zwei Repliken haben, werden wir eine Replik festlegen, da der andere zum neuen Meister befördert wird.

Sentinel Parallel-Syncs MyMaster 1 
Stellen Sie die Anzahl der parallelen Synchronisierungsrepliken ein

Beachten Sie, dass die Konfigurationsdateien auf Redis Replica1 Und Sentinel2, Und Reddis Replica1 Und Sentinel2 sollte identisch sein.

9. Als nächstes starten Sie die neu Wächter Dienste auf allen Knoten, um die jüngsten Änderungen anzuwenden.

# SystemCTL Neustart Redis-Sentinel 

10. Als nächstes öffnen Sie Port 26379 in der Firewall auf allen Knoten, um das zu aktivieren Wächter Instanzen zum Sprechen erhalten Verbindungen von den anderen Wächter Instanzen mit der Firewall-CMD.

# Firewall-cmd --zone = public --permanent --add-port = 26379/TCP # Firewall-CMD-Reload 

11. Alle Repliken werden automatisch entdeckt. Wichtig, Wächter Aktualisieren Sie die Konfiguration automatisch mit zusätzlichen Informationen zu Replikationen. Sie können dies bestätigen, indem Sie die öffnen Wächter Konfigurationsdatei für jede Instanz und schauen Sie sie durch.

Wenn Sie beispielsweise das Ende der Konfigurationsdatei des Masters betrachten, sollten Sie die sehen Bekannte Sentinel Und Bekannte Replica Aussagen, wie im folgenden Screenshot gezeigt.

Automatisch generierte Konfiguration in Master

Es sollte der gleiche Fall sein Replik1 Und Replik2.

Automatisch generierte Konfiguration in Replica1 Automatisch generierte Konfiguration in Replica2

Notiere dass der Wächter Die Konfiguration wird auch jedes Mal neu geschrieben/aktualisiert, wenn eine Replikin während eines Failover zum Master -Status befördert wird, und jedes Mal, wenn ein neuer Sentinel im Setup entdeckt wird.

Schritt 3: Überprüfen Sie den Status "Redis Sentinel Setup"

12. Überprüfen Sie nun die Wächter Status/Informationen über den Master, verwenden Sie die Info Sentinel Befehl wie folgt.

# Redis -Cli -P 26379 Info Sentinel 

Aus der Ausgabe des Befehls, wie im folgenden Screenshot zu sehen ist, haben wir zwei Replikate/Sklaven und drei Sentinels.

Überprüfen Sie die Sentinel -Informationen zum Master

13. Um detaillierte Informationen über die anzuzeigen Meister (genannt mein Meister), verwenden Sie die Sentinel -Meister Befehl.

# Redis -Cli -P 26379 Sentinel Master MyMaster 
Zeigen Sie detaillierte Informationen zu Sentinel Master

14. Um detaillierte Informationen über die anzuzeigen Sklaven Und Wächter, Verwenden Sie das Wachpause Befehl und Sentinel Sentinels Befehl jeweils.

# Redis -Cli -P 26379 Sentinel Sklaven MyMaster # Redis -Cli -P 26379 Sentinel Sentinels MyMaster 

15. Fragen Sie als Nächst Sentinel Get-Master-Addr-für-Namen Befehl wie folgt.

Die Ausgabe sollte die IP -Adresse und den Port der aktuellen Master -Instanz sein:

# Redis-Cli -P 26379 Sentinel Get-Master-Addr-by-Namen MyMaster 
Holen Sie sich die Adresse des Meisters mit Namen auf Sklaven

Schritt 4: Testen Sie das Sentinel -Failover

16. Lassen Sie uns schließlich automatisches Failover in unserem testen Wächter aufstellen. Auf der Redis/Sentinel Meister, machen Sie das Redis Master (am Port laufend 6379) für schlafen für 60 Sekunden. Fragen Sie dann die Adresse des aktuellen Meisters auf den Repliken/Sklaven wie folgt ab.

# Redis -Cli -p 6379 127.0.0.1: 6379> auth [E -Mail geschützt] 127.0.0.1: 6379> Debugg Sleep 60 # Redis-Cli -P 26379 Sentinel Get-Master-Addr-by-Name MyMaster # Redis-Cli -P 26379 Sentinel get-master-addr-byname MyMaster 

Aus der Ausgabe für die Abfrage ist der neue Master jetzt Replik/Slave2 mit IP -Adresse 10.42.0.34 Wie im folgenden Screenshot zu sehen.

Test Redis Sentinel Failover

Sie können weitere Informationen aus der Redis Sentinel -Dokumentation erhalten. Wenn Sie jedoch Gedanken zum Teilen oder Abfragen haben, ist das Feedback -Formular unten Ihr Gateway zu uns.

Im nächsten und letzten Teil dieser Serie werden wir uns ansehen, wie ein Redis -Cluster in CentOS 8 eingerichtet werden kann. Es wird ein unabhängiger Artikel aus den ersten beiden sein.