五、redis哨兵两套环境同一局域网容灾切换问题

五、redis哨兵两套环境同一局域网容灾切换问题

上周遇到个灵异事件,实验室有两套环境来搭建redis集群和哨兵,分别是:

第一套环境IP:67(master) 65(salve) 66(salve)
第二套环境IP:115(master) 116(salve) 117(salve)

第一天把哨兵搭建好后,两套环境的主从关系都是一主两从,但是到了第二天,莫名其妙的,第二天环境的3个redis都挂载到第一套环境下了,都成了67的salve,如图所示:

 1 127.0.0.1:6379> info replication
 2 
 3 role:master
 4 connected_slaves:5
 5 slave0:ip=192.168.51.65,port=6379,state=online,offset=6398436,lag=1
 6 slave1:ip=192.168.51.68,port=6379,state=online,offset=6398436,lag=0
 7 slave2:ip=192.168.51.116,port=6379,state=online,offset=6399020,lag=0
 8 slave3:ip=192.168.51.117,port=6379,state=online,offset=6398436,lag=0
 9 slave4:ip=192.168.51.115,port=6379,state=online,offset=6398878,lag=0
10 master_replid:c37c216fa725c9e3475a8138b8242e85fd3b93c3
11 master_replid2:0000000000000000000000000000000000000000

第一套环境sentinel.conf配置:

1 port 26379
2 protected-mode no
3 daemonize yes
4 logfile "/home/zmoon/redis-5.0.12/sentinel.log"
5 sentinel deny-scripts-reconfig yes
6 sentinel monitor mymaster 192.168.51.67 6379 2
7 sentinel down-after-milliseconds mymaster 1000
8 sentinel failover-timeout mymaster 5000
9 sentinel auth-pass mymaster 123abc

第二套环境sentinel.conf配置:

port 26379
protected-mode no
daemonize yes
logfile "/home/zmoon/redis-5.0.12/sentinel.log"
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 192.168.51.117 6379 2
sentinel down-after-milliseconds mymaster 1000
sentinel failover-timeout mymaster 5000
sentinel auth-pass mymaster 123abc

 

然后经过研究配置文件发现搭建的两套sentinel.conf中,mymaster也就是master-name,都是一样的,所以就判断:

1.是不是因为首先在同一局域网,

2.都搭建了哨兵,

3.然后定义的主的name都是mymaster。

所以修改master-name,两套环境不同的master-name。经过主动宕机主,进行哨兵的容灾切换和周末两天的自动运行验证后,发现问题解决了。

得到结论:哨兵sentinel监控的redis主节点的名字,在同一局域网内,不同环境要不同的主节点名字,不然会主从关系飘移过去。

原文地址:https://www.cnblogs.com/dingdingCat/archive/2022/05/16/16276293.html