Skip to content

redis哨兵(sentinel)

作用

  • 无人值守运维
  • 监控主从节点状态
  • 自动切换主节点机器

搭建

环境说明

一主俩从三哨兵

text
# 1守护进程 后台启动
daemonize yes
# 2可以外网链接
bind 0.0.0.0
# 3关闭保护模式
protected-mode no
# 4端口 (默认26379)
port 26379
# 5指定工作目录
dir ./
# 6pid 可以不更改
pidfile "./redis.pid"
# 7日志
logfile "./redis.log"
# 8监控 quorum 确认客观下线的最少哨兵数 避免网络抖动错误
# sentinel monitor <master-name> <ip> <redis-port> <quorum>
sentinel monitor mymaster  <ip> <redis-port> <quorum>
# 9密码
sentinel auth-pass mymaster 123456

启动!

bash
redis-sentinel sentinel.conf

sentinel文件被重写

sentinel_rewrite.png

redis.conf 也会被追加点配置

主节点宕机

从机执行命令

sentinel_master_down.png

从机的新的主从信息更改 选举新的节点

sentinel_master_down_slave_info.png

查看选举过程 在日志中

一系列选举过程 sentinel_master_elected.png

管道断开链接 ---

宕机后恢复

会当作从节点跟随新的主节点

运行流程和选举原理

SDOWN 主观下线 心跳检测30s默认 ODOWN 客观下线 达到设定阈值 选举出 leader 领导者哨兵 slave->master 由leader选举出新的master