Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung von Redis in Sentinel

Detaillierte Einführung von Redis in Sentinel

无忌哥哥
无忌哥哥Original
2018-07-12 09:55:163302Durchsuche

Verzeichnis

  • Redis-Master-Slave-Replikation konfigurieren

    • Verwenden Sie den Ping-Befehl, um zu überprüfen, ob es gestartet ist

    • Linkinformationen zum Masterknoten anzeigen

  • Bereitstellung des Sentinel-Knotens starten

  • Sentinel bereitstellen

  • Sentinel starten

  • Failover demonstrieren

    • Zeigen Sie die Knoteninformationen an, die derzeit von Sentinel überwacht werden

    • Unterbrechen Sie den Hauptknoten von Redis

    • Überprüfen Sie, ob sich der Hauptknoten von Redis geändert hat

    • Dies ist das Ende der Einführung in Sentinel, nicht genügend Korrekturen sind willkommen.

Konfigurieren der Redis-Master-Slave-Replikation

Ein Masterknoten (Port 6379), zwei Slave-Knoten (Port 6380, 6381), kein For Weitere Informationen zur Konfiguration finden Sie in meinem vorherigen Artikel zur Redis-Master-Slave-Replikation.

Verwenden Sie den Ping-Befehl, um zu überprüfen, ob er gestartet wurde

redis-cli -h 127.0.0.1 -p 6379 ping

wie folgt, geben Sie PONG zurück, um anzuzeigen dass alle drei Redis-Dienste gestartet wurden. Start abgeschlossen

Ein Master-Knoten:
Detaillierte Einführung von Redis in Sentinel

Zwei Slave-Knoten:
Detaillierte Einführung von Redis in Sentinel

Detaillierte Einführung von Redis in Sentinel

Masterknoten zeigt Linkinformationen an

查看6379的连接信息
命令:info replication
可以发现6379的角色是master,有两个从节点,也就是端口为6380,6381的从节点(redis)

Detaillierte Einführung von Redis in Sentinel

同样在6380 从节点中,该节点的角色是slave(从节点),与主节点的连接状态为up(master_link_status),通过这个命令可以方便的查看各个节点的连接状态等信息。

Detaillierte Einführung von Redis in Sentinel

除了用info replication命令外,如下命令也可以快速查看链接信息
redis-cli -h 127.0.0.1 -p 6381 info replication
看个人喜好用哪个命令。

Detaillierte Einführung von Redis in Sentinel

Bereitstellung starten Sentinel-Knoten

Durch die Bereitstellung von Sentinel-Knoten kann die Verfügbarkeit von Redis-Master-Slave verbessert werden. Was bedeutet Sentinel also wörtlich „Sentinel“? Überwachen Sie Redis-Knoten. Der von Sentinel überwachte Redis-Knoten hat die Funktion eines Failovers. Wenn der von Sentinel überwachte Redis-Knoten unerwartet unterbrochen wird, wählt Sentinel automatisch einen Redis mit der Rolle eines Slave-Knotens als Master-Knoten aus, um den nachfolgenden Knoten aufrechtzuerhalten und die korrekte Master-Slave-Replikationsbeziehung sicherzustellen, und der ursprüngliche Slave-Knoten ist immer noch ein Slave Knoten, aber Ihr Masterknoten wird zum Redis-Dienst des neu aktualisierten Masterknotens. Beginnen wir Schritt für Schritt mit dem Aufbau von Sentinel.

Sentinel bereitstellen

进入安装redis的目录下的配置目录,我的本地是/etc/redis

Detaillierte Einführung von Redis in Sentinel

我这边就直接使用原本的sentinel.conf配置,来作为第一个sentinel节点。我们可以进入sentinel.conf配置看下里面到底有啥配置信息:
sentinel monitor mymaster 127.0.0.1 6379 2 //监控的主节点IP和端口,其中mymaster是该节点的别名,2表示判断主节点失败至少需要两个节点同意
sentinel down-after-milliseconds mymaster 30000  //通过ping命令,各个sentinel节点向redis节点是否可达,超过30000毫秒,就判定不可达
sentinel failover-timeout mymaster 180000 //故障转移超时时间为180000毫秒
如果还有其它的配置,可以自己在探索下

Sentinel starten

启动命令:
sudo redis-sentinel sentinel.conf --sentinel

Detaillierte Einführung von Redis in Sentinel

查看sentinel启动情况
redis-cli -h 127.0.0.1 -p 26379 INFO Sentinel
可以看出与查看redis启动的情况命令类似,截图中可以看到此时sentinel监控redis节点是端口为6379的服务,6379有两个从节点,状态为OK,别名是mymaster

Detaillierte Einführung von Redis in Sentinel

继续再配置两个sentinel节点,
sudo cp sentinel.conf  sentinel2.conf 
sudo cp sentinel.conf  sentinel3.conf 
修改两个配置的端口为26380, 26381,其它配置可以不用修改
修改完后,分别启动
sudo redis-sentinel sentinel2.conf --sentinel
sudo redis-sentinel sentinel3.conf --sentinel

Detaillierte Einführung von Redis in Sentinel

启动后再次查看sentinel.conf的配置,可以发现配置中多了两个从节点的信息,截图如下:

Detaillierte Einführung von Redis in Sentinel

Detaillierte Einführung von Redis in Sentinel

Failover demonstrieren

Anzeigen der aktuellen Sentinel-Überwachungsknoteninformationen

查看26379端口的Sentinel节点监控的主节点信息

Detaillierte Einführung von Redis in Sentinel

查看目前redis的进程ps -ef | grep redis

Detaillierte Einführung von Redis in Sentinel

Redis-Masterknoten unterbrechen

之前我们sentinel监控的主节点是6379这个端口,这时候我们kill这个端口的进程,或者使用shutdown命令:
redis-cli -h 127.0.0.1 -p 6379 shutdown
过了30秒之后查看26379端口的Sentinel节点监控的主节点信息,发现主节点信息变成了6380端口的redis(之前的从节点)

Detaillierte Einführung von Redis in Sentinel

Überprüfung Ob der Hauptknoten Knoten von Redis ändert sich

验证6380端口的redis变成主节点,此时我们在6380 的redis上设置一个key值,在6381端口的redis上验证是否能获取到该key值

Detaillierte Einführung von Redis in Sentinel

此时发现,6380变成了主节点,6381从节点没有变化,还是从节点。
下面我再次启动6379端口的redis

Detaillierte Einführung von Redis in Sentinel

发现原先的主节点6379已经变成了从节点,而它的主节点变成了6380。此时我们再回过头看下26379的监控节点变化,还是6380端口。

Detaillierte Einführung von Redis in Sentinel
Detaillierte Einführung von Redis in Sentinel

Bis zu diesem Punkt Sentinel Das war's mit der Einleitung. Eventuelle Mängel können gerne behoben werden.

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung von Redis in Sentinel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn