Heim >Datenbank >Redis >Prinzip des Redis-Sentry-Modus

Prinzip des Redis-Sentry-Modus

Guanhui
GuanhuiOriginal
2020-06-01 15:03:463711Durchsuche

Prinzip des Redis-Sentry-Modus

Prinzip des Redis Sentinel-Modus

Der Sentinel-Modus ist ein spezieller Modus. Der Sentinel ist ein unabhängiger Modus Das Prinzip besteht darin, dass der Sentinel mehrere laufende Redis-Instanzen überwacht, indem er Befehle sendet und auf die Antwort des Redis-Servers wartet.

Linux – Redis Sentinel Cluster-Instanz

Befehlsanordnung

Offizielle Website-Adresse: http://redisdoc.com/

redis-cli info #查看redis数据库信息
redis-cli info replication #查看redis的复制授权信息
redis-cli info sentinel   #查看redis的哨兵信息

Konfigurationsprozess

Idee:

Redis Master-Slave

1 Master und zwei Slaves planen

1. Umgebungsvorbereitung, bereiten Sie die Redis-Architektur von einem Master und zwei Slaves vor

redis-6379.conf

port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
dir "/opt/redis/6379/"
redis-6380.conf
port 6380
daemonize yes
logfile "6380.log"
dbfilename "dump-6380.rdb"
dir "/opt/redis/6380/"
slaveof  127.0.0.1  6379
redis-6381.conf
port 6381
daemonize yes
logfile "6381.log"
dbfilename "dump-6381.rdb"
dir "/opt/redis/6381/"
slaveof  127.0.0.1  6379

3 Datenordner

mkdir -p  /opt/redis/{6379,6380,6381}

3. Starten Sie jeweils drei Datenbanken

[root@master sbredis]# redis-server redis-6379.conf 
[root@master sbredis]# redis-server redis-6380.conf 
[root@master sbredis]# redis-server redis-6381.conf

Erkennen Sie den Master-Slave-Status

redis-cli -p 6379   info replication
redis-cli -p 6380   info replication
redis-cli -p 6381   info replication

Bereiten Sie drei Redis-Sentinels vor, um den Master-Slave-Status zu erkennen

Bereiten Sie die Konfiguration vor Three Sentinels-Datei

redis-26379.conf

// Sentinel节点的端口
port 26379  
dir /var/redis/data/
logfile "26379.log"
// 当前Sentinel节点监控 192.168.119.10:6379 这个主节点
// 2代表判断主节点失败至少需要2个Sentinel节点节点同意
// mymaster是主节点的别名
sentinel monitor mymaster 192.168.119.10 6379 2
//每个Sentinel节点都要定期PING命令来判断Redis数据节点和其余Sentinel节点是否可达,如果超过30000毫秒30s且没有回复,则判定不可达
sentinel down-after-milliseconds mymaster 30000
//当Sentinel节点集合对主节点故障判定达成一致时,Sentinel领导者节点会做故障转移操作,选出新的主节点,
原来的从节点会向新的主节点发起复制操作,限制每次向新的主节点发起复制操作的从节点个数为1
sentinel parallel-syncs mymaster 1
//故障转移超时时间为180000毫秒
sentinel failover-timeout mymaster 180000
redis-26380.conf
port 7000
daemonize yes
dir "/opt/data"
logfile "7000.log"
dbfilename "dump-7000.rdb"
cluster-enabled yes   
cluster-config-file nodes-7000.conf
cluster-require-full-coverage no
redis-26381.conf

Drei Konfigurationsdateien, nur der Port ist unterschiedlich. Generieren Sie die Konfigurationsdatei schnell mit dem Befehl

[root@master sbredis]# sed "s/26379/26380/g"  redis-26379.conf   >  redis-26380.conf  
[root@master sbredis]# sed "s/26379/26381/g"  redis-26379.conf   >  redis-26381.conf

6. Starten Sie drei Sentinels bzw.

[root@master sbredis]# redis-sentinel redis-26379.conf 
[root@master sbredis]# redis-sentinel redis-26380.conf 
[root@master sbredis]# redis-sentinel redis-26381.conf

7. Erkennen Sie den Sentinel-Master-Slave-Status

redis-cli -p 26379  info sentinel

Wenn Sie die folgenden Informationen sehen, sind Sie genau wie ich

[root@master sbredis]# redis-cli -p 26379  info  sentinel
Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=s17ms,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3

8 Starten Sie Redis 6379 erneut, um zu sehen, ob es dem Master-Slave-Cluster beigetreten ist.

ps -ef|grep redis
    kill 进程
    ..

Empfohlenes Tutorial: „

Redis Tutorial

"


Das obige ist der detaillierte Inhalt vonPrinzip des Redis-Sentry-Modus. 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