redis配置哨兵(sentinel)模式
主从复制当主服务器宕机时,我们需要手动的将从服务器中选取新的主服务器,这样会会需要人工干预,费时费力,而且不能及时的发现服务器宕机,造成一定时间内服务不可用。这并不是一个推荐的方案,我们更加建议使用哨兵模式替代。哨兵模式Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的
·
主从复制
当主服务器宕机时,我们需要手动的将从服务器中选取新的主服务器,这样会会需要人工干预,费时费力,而且不能及时的发现服务器宕机,造成一定时间内服务不可用。这并不是一个推荐的方案,我们更加建议使用哨兵模式替代。
哨兵模式
Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。Sentinel由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。
配置redis哨兵模式
- 配置从服务器(选配),如果主服务器配置了,就需要配置
# 使得Redis服务器可以跨网络访问 bind 0.0.0.0 # 设置密码 requirepass "123456" # 指定主服务器,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置 slaveof 192.168.11.128 6379 # 主服务器密码,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置 masterauth 123456
- 配置一个哨兵,配置sentinel.conf,这个配置文件一般都是在安装目录下。
# 禁止保护模式 protected-mode no # 配置监听的主服务器,这里sentinel monitor代表监控,mymaster代表服务器的名称,可以自定义,192.168.11.128代表监控的主服务器,6379代表端口,2代表只有两个或两个以上的哨兵认为主服务器不可用的时候,才会进行failover操作。 sentinel monitor mymaster 192.168.11.128 6379 2 # sentinel author-pass定义服务的密码,mymaster是服务名称,123456是Redis服务器密码 # sentinel auth-pass <master-name> <password> sentinel auth-pass mymaster 123456
- 测试哨兵模式
我现在采用一主二从的模式来测试,先将redis服务器启动,而后在启动哨兵,注意这个顺序。
redis服务启动命令
redis客户端启动命令redis-server redis.conf
sentinel哨兵启动redis-cli -p 6379(端口)
查看sentinel日志,可以看到我们的sentinel已经检测到redis的每一个服务器(6379(master主服务器),6380,6381)。redis-sentinel sentinel.conf
测试当6379主服务器宕机,哨兵会检测到信号,并从slave服务器重新选举,成为master服务器;就算6379服务器重新上线,也没有重新成为master服务器。
更多推荐
已为社区贡献5条内容
所有评论(0)