现象
redis的sentinel日志文件中,一直重复输出日志
2633:X 02 Apr 08:39:03.126 * +sentinel-address-switch master mymaster53 172.17.30.54 6000 ip 172.17.30.94 port 26378 for mkj7yhvd47i9n4f1251juht56789bfnbg6y8cd43
2633:X 02 Apr 08:39:04.281 * +sentinel-address-switch master mymaster53 172.17.30.54 6000 ip 172.17.30.94 port 26379 for gy7hb865dswem9612515d93117yhjgvc5floxd8b
2633:X 02 Apr 08:39:04.487 * +sentinel-address-switch master mymaster53 172.17.30.54 6000 ip 172.17.30.53 port 26378 for mkj7yhvd47i9n4f1251juht56789bfnbg6y8cd43
2633:X 02 Apr 08:39:04.999 * +sentinel-address-switch master mymaster53 172.17.30.54 6000 ip 172.17.30.53 port 26379 for gy7hb865dswem9612515d93117yhjgvc5floxd8b
2633:X 02 Apr 08:39:05.198 * +sentinel-address-switch master mymaster53 172.17.30.54 6000 ip 172.17.30.94 port 26378 for mkj7yhvd47i9n4f1251juht56789bfnbg6y8cd43
2633:X 02 Apr 08:39:06.323 * +sentinel-address-switch master mymaster53 172.17.30.54 6000 ip 172.17.30.94 port 26379 for gy7hb865dswem9612515d93117yhjgvc5floxd8b
原因
是因为172.17.30.53和172.17.30.94分别有两个哨兵,哨兵配置了相同的myid,比如第1行和第3行172.17.30.94#26378和172.17.30.53#26378一直在争抢mkj7yhvd47i9n4f1251juht56789bfnbg6y8cd43。
sentine.conf中,172.17.30.53#26378端口和172.17.30.94#26378端口配置重复
port 26378
# Note: master name should not include special characters or spaces.
# The valid charset is A-z 0-9 and the three characters ".-_".
sentinel myid mkj7yhvd47i9n4f1251juht56789bfnbg6y8cd43
port 26378
# Note: master name should not include special characters or spaces.
# The valid charset is A-z 0-9 and the three characters ".-_".
sentinel myid gy7hb865dswem9612515d93117yhjgvc5floxd8b
解决
myid改为不同就可以了。
总结
这个问题通常是因为复制了相同的哨兵配置引起,修改myid为不同即可解决。
参考
What is the importance of event +sentinel-address-switch in Redis Sentinel log file
Redis Sentinel日志频繁显示地址切换,原因在于两个哨兵节点配置了相同的myid,导致它们争夺同一主节点的控制权。解决方案是确保每个哨兵的myid配置唯一。避免此类问题的关键在于正确配置哨兵的标识,以保证集群的稳定运行。
1580





