1、上篇文章已经分享了redis主从服务构建,接下来分享Redis哨兵服务构建,基础配置在上篇文章已经说过了,不明白的小伙伴可以翻看上篇文章Redis主从,因本文比较简单,大神级可以飘过
2、之前已经启动了redis的7001、7002端口,接下来在启动一个7003端口构成一主两从,拷贝7001配置文件到7003目录下修改conf配置文件并启动redis服务,并查看主从状态
3、 配置sentinel.conf文件
1) 为了方便管理,创建sentinel文件夹并把sentinel.conf考入其中
2) port 26379 修改为 27001
3) 修改sentinel monitor mymaster 127.0.0.1 6379 2 为 sentinel monitor mymaster 192.168.12.131 7001 2
4) sentinel down-after-milliseconds mymaster 30000 改为 5000 单位都是毫秒
5) sentinel failover-timeout mymaster 180000 改为 60000
6) 分别启动哨兵服务,命令如下
/usr/bin/redis-sentinel /usr/local/software/redis/sentinel/sentinel_27001.conf &
/usr/bin/redis-sentinel /usr/local/software/redis/sentinel/sentinel_27002.conf &
/usr/bin/redis-sentinel /usr/local/software/redis/sentinel/sentinel_27003.conf &
4、 验证哨兵服务
1) 宕掉7001主库redis-cli -h 192.168.12.131 -p 7001 shutdown观察日志状态
2) 从日志中可以看出Master切换为7003,在登录7003客户端查看主从状态,此时7001已经下线了
3) 再次启动7001观察日志及主从状态
4) 发现此时7001变为slave了,再次登录7003客户端查看主从状态,同理宕掉Master7003也会发生切换,宕掉slave, Master不会发生变化,切换的前提是要在对应的redis下启动哨兵服务
5) 在Master写数据slave上查看同步状态,发现2个slave数据都已同步
6)下篇文章会讲解Redis cluster