当redis采用简单的主从模式的时候,一旦主节点发生错误的话,那么两个从节点因为是处理readonly的一个模式的,所以是不能够写数据的,这个时候需要引入哨兵模式(sentinel)。
哨兵的作用:首先哨兵监听redis,当主节点发生问题的时候就不能够进行写入的操作,这个时候就需要重新组成一个主从的一个结构,哨兵就会从新将redis组成一个主从的结构。一般redis是由多个组成的,且为奇数,当主节点出问题之后,哨兵就会重新选举一个redis为主节点,如果哨兵为偶数的话可能会出现对半分的情况。
下面进行哨兵模式的搭建
- 进入redis压缩包解压之后的文件夹,将sentinel.conf拷贝至redis的配置文件夹中。
- 更改配置文件。
#不使用保护模式,保证其他节点能访问哨兵
protected-mode no
#端口号
prot 26379
#后台运行哨兵
daemonize yes
#工作目录
dir /你的工作目录
#nick:设置你的昵称不要包含特殊符号,可以使用.-_ ip:master内网的ip port:端口号
sentinel monitor nick ip port
#nick:昵称,同上一样 password:master的密码
sentinel auth-pass nick password
#nick:t同上 30000:认为宕机的时间
sentinel down-after-milliseconds nick 30000
#设置一次性同步数据的数量
sentinel parallel-syncs nick 1
#如果哨兵未在指定时间内完成切换主节点的工作,那么就会由另一个哨兵来进行这个切换的工作
sentinel failover-timeout nick 180000
3.在剩余的虚拟机上进行同样的操作。
4.启动哨兵模式 ,通过redis-sentiel sentinel.conf进行启动。
5.使用ps -ef|grep redis查看哨兵模式是否启动成功。