启动一个哨兵redis-sentinel 26379-sentinel.conf
连接26379哨兵,主要是最后一行,监控的主节点名为mymaster,状态正常,从节点有俩个,哨兵数量为1个
在来查看一下26379的哨兵配置信息,这个时候已经改动了
在启动一个26380的哨兵,redis-sentinel 26380-sentinel.conf,这里注意一下最后一行多了一条信息,这个id就是我们26379配置文件新增的id
然后我们来到哨兵26379的客户端,同样也是新增的26380哨兵的id
这个时候我们在查看一下26379哨兵的配置文件,第一次查看配置文件是没有配置26380哨兵的,第二次查看时配置了26380哨兵后添加的信息。
最后我们需要把哨兵客户端3启动起来,端口号为26381。启动起来之后,我们的配置信息和服务端的信息也会改动,添加哨兵26380有的信息,哨兵26381也会有。
直到这里我们对哨兵的配置就结束了,接下来我们把主节点master给宕掉
等待30秒后我们来到26379哨兵的客户端,这里新增了一些信息,那么这些信息都做了什么呢!让我们细细道来。
这里边的信息我们先需要知道几个
- +sdown :这个信息后是指三个哨兵里边有一个认为主节点宕机了
- +odown:这个信息是指其他俩个哨兵去连接了一下主节点,发现确实是主节点宕机了
- 然后发起了一轮投票,这里咔咔使用的是redis4.0,版本之间这块信息有点差异
- +switch-master mymaster 127.0.0.1 6379 127.0.0.1 6380:直到这里是哨兵发起投票的结果,推选端口为6380的redis为主节点
- +slave slave 127.0.0.1:6381 127.0.0.1 6381 @ mymaster 127.0.0.1 6380:这里就把端口为6381与6379和新的主节点6380做了一个连接
- +sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ mymaster 127.0.0.1 6380:最后一句是端口为6379的还是没有上线,于是给踢下线
当我们在重新把6379的redis服务器上线后,就可以看到哨兵服务端响应了俩句。一句是去除6379的下线。最后一句就是重连6379到新的主节点上。
这个时候主节点就是6380了,在6380的redis客户端设置值,检测主从复制是否正常工作。
在新的主节点6380添加list类型
在6379和6381获取这个值,至此呢!我们的哨兵模式就配置完成了。