启动3台虚拟机,分别都关了防火墙
192.168.144.150 主
192.168.144.151 从 哨兵机制
192.168.144.152 从



3台都分别设置主从配置



再和192.168.144.151 配置哨兵机制
到 /usr/local/redis-3.2.9 目录下 将sentinel.conf 复制到 /usr/local/redis/etc 目录下
cp sentinel.conf /usr/local/redis/etc

到 /usr/local/redis/etc 修改 sentinel.conf 文件


先启动主服务器的redis,再启动两台从的redis



注意:一定要配置好了主从配置,再去启动哨兵机制
启动哨兵机制: ./redis-server /usr/local/redis/etc/sentinel.conf --sentinel &

到这里基本就成功了,演示下效果
看一下3台服务器的主从信息
连接上redis客户端后,直接输入info命令查看
下图可以看到主服务器可以看到有两台从服务器

从服务器可以看到主服务器的ip


现在将主服务宕机

配置了哨兵机制的服务器直接自动刷新了信息

现在再次输入 info 查看redis信息
我现在看到的是192.168.144.152这台服务器选举成功了,(不知道是不是配置哨兵机制的时候配置ip给配成了152的服务器还是,记得第一次是选举成了151这台服务器成了主服务器的,不过这不重要,接下去看)

我们再启动192.168.144.150这台服务器
我们现在在选举成功的主服务器上面的redis里面set一个值

然后再在刚才主服务宕机重启的服务器上面get这个值,我们发现这个时候,数据不同步了

之前的主redis同步密码一定要指向
集群的所有服务器都要开启密码
修改之前主服务器的redis.conf文件,再重启redis , 数据就可以同步了

本文详细介绍如何在三台虚拟机上部署Redis主从及哨兵机制,包括防火墙关闭、主从配置、哨兵机制启动及故障切换验证。通过实际操作展示数据同步问题及解决方法。
876

被折叠的 条评论
为什么被折叠?



