首页/数据/数据库速查/sentinel.conf 配置详解
Redis 运维与场景124 条

sentinel.conf 配置详解

核心就几条:monitor 定义被监控主库与判定票数、auth-pass 复制鉴权、down-after 与 failover-timeout 控制节奏、parallel-syncs 控制同时重同步的从库数。

数据库速查数据更新于 2026-10-13

sentinel.conf 是什么

一个哨兵进程需要知道:监控谁、多久无响应算下线、切换的节奏如何。sentinel.conf 里最关键的几行就是 monitor 定义主库与判定票数、auth-pass 提供复制鉴权、down-after-milliseconds 与 failover-timeout 控制判定与切换节奏、parallel-syncs 控制同时重同步的从库数量。从库与其它哨兵由哨兵自动发现,不需要手写。

基本信息

核心配置port、sentinel monitor、sentinel auth-pass
判定参数down-after-milliseconds、failover-timeout
切换参数parallel-syncs
运行目录dir 决定配置自动重写的位置,需可写
同机多实例sentinel announce-ip / announce-port 声明对外地址

典型使用场景

  • 从零搭建哨兵高可用体系,需要一份可用的最小配置
  • 从单哨兵升级到多哨兵,明确 quorum 与部署位置
  • 切换过慢或过频时调整 down-after 与 failover-timeout
  • 主库开启 requirepass 后补上 auth-pass,否则监控状态异常
  • 容器或 NAT 环境下哨兵上报的地址不可达,需要 announce 项修正

示例配置

示例配置
port 26379
sentinel monitor mymaster 10.0.0.10 6379 2
sentinel auth-pass mymaster 主库密码
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1
dir /var/lib/redis-sentinel
logfile /var/log/redis/sentinel.log
# 同机多实例或 NAT 环境补充:
# sentinel announce-ip 10.0.0.11
# sentinel announce-port 26379

配置项读法

配置项含义取值建议
monitor 末位数字判定客观下线的票数 quorum3 哨兵常用 2,5 哨兵常用 2 到 3
down-after-milliseconds多久无响应判定主观下线30000 是常见起点,过小易抖动
failover-timeout切换各阶段超时与重试间隔180000 较常见,过小引发反复切换
parallel-syncs故障后同时重同步的从库数从库多时设 1 到 2,避免同步风暴
auth-pass哨兵连接主从使用的密码主库有 requirepass 时必须配置
哨兵会自动重写自己的配置文件(记录已知从库与其它哨兵)。手工修改后要确保各哨兵配置一致,配置漂移是「切换行为诡异」的第一大来源,必要时用 SENTINEL RESET 重建认知。
不要在配置里写死从库列表:哨兵通过 INFO 自动发现从库,写死了切换后会留下过期信息,反而干扰判定。
多哨兵部署建议使用同一份模板、同一版本,只改各自的端口、日志与 announce 项;部署在不同物理机或不同交换机下,故障域才算真正隔离。

易错点

  • quorum 设成 1:单个哨兵误判就能发起切换,脑裂与误切风险大增
  • down-after 与 failover-timeout 都设得极短:网络抖动直接触发频繁切换
  • 主库有密码但漏配 auth-pass:哨兵把主库判为下线,监控形同虚设
  • 多台哨兵挤在同一台物理机上:故障域没有隔离,高可用只是纸面的

数据来源与参考

  • Redis 官方文档: Sentinel 配置
  • Redis 官方文档: sentinel.conf

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌