Redis-sentinel是Redis实例的监控管理、通知和实例失效备援服务,是Redis集群的管理工具。在一般的分布式中心节点数据库中,Redis-sentinel的作用是中心节点的工作,监控各个其他节点的工作情况并且进行故障恢复,来提高集群的高可用性。
一、Redis Sentinel规划
IP
端口号
角色
192.168.1.51
7000
Redis Master
192.168.1.52
7000
Redis Master
192.168.1.53
7000
Redis Master
192.168.1.51
27000
Sentinel
192.168.1.52
27000
Sentinel
192.168.1.53
27000
Sentinel
一个一主多从的Redis系统中,可以使用多个哨兵进行监控任务以保证系统足够稳健。此时,不仅哨兵会同时监控主数据库和从数据库,哨兵之间也会相互监控。在这里,建议大家哨兵至少部署3个,并且使用奇数个哨兵。
二、RedisSentinel部署
1、安装Redis
在3台服务器上分别安装Redis。需要注意的是,如果要给Redis设置密码,需要在3个Redis的配置文件中设置相同的密码。
requirepass"Redis-Password"
2、设置主从复制
在2个SlaveRedis的配置文件中声明所从属的主数据库。
slaveof192.168.1.51 7000
这里需要注意一点,如果主数据库设置了密码,需要所有Redis的配置文件中设置masterauth"Redis-Password",包括主数据库。Sentinel可以切换主从数据库,主数据库可能会变成从数据库,因此也需要设置主数据库密码。
3、配置Sentinel.config
创建配置文件
创建一个sentinel目录,新建sentinel.conf文件(Redis提供了该文件的模版)。配置文件内容如下:
##sentinel实例之间的通讯端口
daemonize yes
port 27000
#redis-master
sentinel monitor redis-master 192.168.1.51 7000 2
sentinel down-after-milliseconds redis-master 5000
sentinel failover-timeout redis-master 900000
sentinel parallel-syncs redis-master 2
sentinel auth-pass redis-master 123456
logfile "/data/bd/redis/sentinel/sentinel.log"
配置项说明: