一、Sentinel介绍
当用redis作master-slave的高可用时,如果master宕机,redis本身或者客户端都没有实现主从切换的功能,而redis-sentinel是一个独立运行的进程,用于监控多个master-slave集群,它的作用:当master服务器不能正常工作时, Sentinel会开始一次自动故障迁移操作, 它会将失效master服务器的其中一个slave服务器升级为新的master服务器, 并让失效master服务器的其他从服务器改为复制新的master服务器; 当客户端试图连接失效的master服务器时, 集群也会向客户端返回新master服务器的地址, 使得集群可以使用新master服务器代替失效服务器。
二、配置测试
相关查看命令:
# 查看redis数据库所有信息 redis-cli info # 查看redis的复制授权信息 redis-cli info replication # 查看redis的哨兵信息 redis-cli info sentinel
这里仅用一台服务器来示例。
约定:
- master为redis-6380.conf,slave分别为redis-6381.conf和redis-6382.conf
- 所有redis配置放在/etc/redis目录下
bind 127.0.0.1 port 6380 daemonize yes pidfile /var/redis/redis-6380.pid logfile /var/redis/redis-6380.log dbfilename dump-6380.rdb dir /var/redis/data