哨兵模式(sentinel):
就是反客为主的自动版,即能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库
配置哨兵
0. 先把上篇博客使用的5379,5380,5381三个redis服务产生的持久化文件删除掉
- 调整为一主二仆模式(上篇博客中有交代).
-
自定义的/opt/myRedis目录下新建sentinel.conf文件(因为在我的上篇博客配置主从模式时,我把redis服务的配置文件都放在了此目录,把此目录作为我的redis服务启动目录)
- 在配置文件sentinel.conf中填写内容(就是把本机5379的redis服务作为master节点,mymaster是我们为监控对象起的服务器名称,1代表只是有一个哨兵认为主服务器宕机时,才算数,我们只有一个哨兵,因此只能设置为1):
sentinel monitor mymaster 127.0.0.1 5379 1
启动哨兵
1,然后启动主节点5379,和两个从节点5380,5381
2,因为我们在哨兵配置文件sentinel.conf中只告诉了哨兵主节点服务器,没告诉它从节点服务器,因为哨兵能够自动检测主节点服务器5379的从节点。因此我们只需要给5379主节点,配置从节点就好了,哨兵能够自动检测出来有哪些从节点指向了主节点5379.
3,哨兵自动检测出来了5380,5381指向了主节点5379
故障恢复
新主登基
1,我们把主节点shutdown掉
2,我们会在哨兵输出内容中看到,把原来的5380这个从节点变成了主节点,让原来的从节点5381指向它,并且让下线的旧的主节点5379也变成5380的从节点
可以看到5380成为主服务器,并且有一个存活的从服务器5381
可以看到5381的信心,5381还是从服务器,不过主服务器变成了5380
旧主俯首
1,从新启动旧的主节点5379
2,查看5379的信息,会发现旧的主节点再次上线后就成了5380的从节点
至此哨兵模式配置完毕