注意:本接内容基于上一篇博客,Redis 的主从搭建(无选主功能):https://blog.csdn.net/qq_40230026/article/details/123064702
1:配置哨兵的配置文件
和上篇博客一样,还是使用 6380,6381,6382 三台实例搭建主从,不同的是我们对主进行高可用,添加哨兵监控,在主下线的时候,可以自动将某一个从机更换成主机。
我们在上一次的 实例目录下直接创建 哨兵 26380 的配置文件
cd /usr/local/redis/myconf/
ls
# 创建 26380.conf 哨兵 26380的配置文件
vi 26380.conf
创建后添加下面的内容:
# 哨兵端口,注意更换端口
port 26380
#sentinel monitor 主机取名 主的ip地址 主的redis端口 兵选主的同意数量
sentinel monitor mymaster 127.0.0.1 6380 2
创建 哨兵 26381 的配置文件,修改端口
创建 哨兵 26383 的配置文件,修改端口
2:启动三台实例,搭建主从
首先启动 6380
redis-server /usr/local/redis/myconf/6380.conf
启动 6381,并跟随 6380
redis-server /usr/local/redis/myconf/6381.conf --replicaof 127.0.0.1 6380
启动 6382,并跟随 6380
redis-server /usr/local/redis/myconf/6382.conf --replicaof 127.0.0.1 6380
到此时,主从搭建完毕。接下来我们添加哨兵
3:启动三台哨兵,进行监控
启动 26380
redis-server /usr/local/redis/myconf/26380.conf --sentinel
启动 26381
redis-server /usr/local/redis/myconf/26381.conf --sentinel
启动 26382
redis-server /usr/local/redis/myconf/26382.conf --sentinel
至此,主从+哨兵搭建完成
4:手动下线主,观察选主
将 6380 下线 ,会发现在一段时间内哨兵不会立即选主,有一个时间段,在这个事件段,主上线依旧是可以的。但是如果不上线,哨兵就会推选出一个新的 主。