Redis 哨兵模式
Redis Sentinel
是Redis 的高可用性解决方案,由一个或多个Sentinel
(哨兵)实例组成。它可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,
并在被监视的主服务器进入下线状态时,自动将某个从服务器升级为新的主服务器,它的主要功能如下:
- 监控(Monitoring):
Sentinel
会不断地检查你的主服务器和从服务器是否运作正常;
- 通知(Notification):当被监控的某个 Redis 服务器出现问题时,
Sentinel
可以通过API向管理员或者其他应用程序发送通知。 - 故障迁移:当主服务器不能正常工作时,
Sentinel
会自动进行故障迁移,也就是主从切换。 - 统一的配置管理:连接者询问
sentinel
取得主从的地址。
哨兵的配置主要就是修改sentinel.conf
配置文件中的参数
1. 复制sentinel.conf 文件到/usr/local/replica/master 目录下:
# cp /root/tools/redis-5.0.7/sentinel.conf /usr/local/replica/master
2.编辑 sentinel.conf
主要修改4个地方:
从节点:
1. 复制sentinel.conf 文件到/usr/local/replica/slave1 目录下:
# cp /root/tools/redis-5.0.7/sentinel.conf /usr/local/replica/slave1
2.编辑 sentinel.conf
主要修改4个地方:
三个Redis和三个哨兵都已启动。
进入slave1的客户端查询:
# cd /usr/local/replica/slave1 redis-cli -p 6380
# info replication
当前角色为salve;
杀掉主节点,
# kill -9 26430
再次查看slave1的角色:
可以看到,由于master停止服务,slave1 自动切换到主节点,Sentinel 会自动进行故障迁移,实现主从切换。