Redis哨兵无法识别新增从节点,因其不主动扫描网络,仅依赖主节点INFO replication上报的从节点列表;需先用REPLICAOF建立复制关系,再检查slave-announce-ip、sentinel monitor同步、防火墙、NTP及端口连通性。

不能靠 SENTINEL MONITOR 加从节点,它只管监控主节点;新 Redis 实例必须先用 REPLICAOF 主动建立复制关系,再等哨兵自动发现。
新从节点启动后为啥没出现在 SENTINEL SLAVES 里?
常见原因就三个,不是配置错就是网络卡:
- 哨兵还没扫描到:它默认每 10 秒向主节点发一次
INFO replication,解析从节点列表,所以最多延迟 10 秒才显示 - 哨兵连不上新从节点:比如
bind 127.0.0.1、protected-mode yes或防火墙拦截,导致 PING 不通,直接忽略 - 主节点的
INFO replication没列出它:执行了REPLICAOF但主节点没刷新(老版本 Redis 可能需CONFIG REWRITE或重启)
REPLICAOF 和 SENTINEL MONITOR 到底谁先谁后?
顺序不能颠倒,否则节点是空跑:
Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。
- 先启动新 Redis 实例,确保
bind、port、protected-mode no配置正确 - 连上新实例,执行
REPLICAOF <master-ip> <master-port>(推荐命令行,避免改配置重启) - 检查
INFO replication:确认master_link_status:up且slave_repl_offset持续增长 - 最后,在所有哨兵节点上执行
SENTINEL MONITOR——注意,这里填的是**主节点地址**,不是新从节点
新从节点能参与故障转移吗?
能,但得过三关:
- 断连时间不能超
down-after-milliseconds × 10(默认 5 分钟),否则标记为odown并失去候选资格 - 必须完成全量同步(
master_sync_in_progress:0),且slave_repl_offset接近主节点的master_repl_offset - 不能在哨兵配置里给它设
slave-priority 0,否则主动放弃参选
最容易被忽略的是:REPLICAOF 执行完不代表数据已同步,SENTINEL SLAVES 返回 OK 也不代表它已被纳入选举池——得盯着 INFO replication 和哨兵日志里的 +sdown/+vote 才算真正落地。

















