启动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 , 数据就可以同步了