Redis的集群有三种模式,分别是主从复制、哨兵模式和Cluster模式。
主从复制模式无法做到高可用,因此Redis提供了哨兵模式,以监听各个节点的状态,防止节点故障。
sentinel的搭建相比主从复制模式复杂一些,但是相比Cluster模式,又不需要安装如ruby环境,所以还是比较简单的。
1、首先复制6份Redis脚本,3份作为主从复制(一主两从),3份作为sentinel。
2、配置一主两从
主节点:
port 6379
requirepass 123456
从节点1:
port 6380
slaveof 127.0.0.1 6379
masterauth 123456
从节点2:
port 6381
slaveof 127.0.0.1 6379
masterauth 123456
3、配置sentinel节点
# 其他两个sentinel节点的端口号分别为26380、26381
port 26379
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 3000
# 必须配置,否则启动后sentinel节点都会是sdown(主观宕机)状态或者odown(客观宕机)状态
sentinel auth-pass mymaster 123456
4、分别启动redis的一主两从节点和sentinel的三个节点。
sentinel启动成功后如下所示:
5、登录端口号为26379的sentinel节点,查看状态
可以看到sentinel状态正常,且能检测到redis有两个从节点,有3个哨兵节点。
经过一晚上的时间,redis的哨兵模式搭建成功,但是总感觉欠缺一点内容需要补充或修改,希望诸位不要吝惜自己的观点,指出不足和可以改进的地方。
参考链接:
https://blog.csdn.net/ITLTX1024/article/details/100665452
https://blog.csdn.net/yingxiake/article/details/51671335