首页/数据/Redis 进阶速查/resolve-hostnames:主机名支持
主从与哨兵51 条

resolve-hostnames:主机名支持

7.0 起哨兵与集群支持用主机名替代 IP 配置(resolve-hostnames/announce-hostnames),适合容器与动态 IP 环境。

Redis 进阶速查数据更新于 2026-10-13

resolve-hostnames 是干什么的

较新版本的哨兵与集群支持用主机名替代 IP:resolve-hostnames 让哨兵按主机名解析配置与命令中的地址,announce-hostnames 让节点对外公告自己的主机名。在容器与动态 IP 环境里,这能避免地址漂移导致的配置失效与监控断链。

基本信息

解析开关sentinel resolve-hostnames yes
公告开关sentinel announce-hostnames yes
收益地址漂移环境下配置与公告保持稳定
核心依赖DNS 解析必须稳定可靠
版本要求较新版本提供,混跑环境先确认版本

两种开关的区别

配置作用范围注意
resolve-hostnames解析配置与命令中的主机名需要 DNS 稳定返回,解析失败影响监控
announce-hostnames对外公告自身使用主机名客户端与监控侧要能解析这些名字
只开其一解析或公告其中一侧仍走 IP混用时地址格式不一致,需客户端兼容
两者都开解析与公告统一走主机名配置最稳定,但对 DNS 依赖最强

示例

示例
sentinel resolve-hostnames yes
sentinel announce-hostnames yes
sentinel monitor mymaster db.internal 6379 2
sentinel down-after-milliseconds mymaster 5000
# 改完重启哨兵进程,并核对 SENTINEL MASTERS 输出中的地址形式

典型使用场景

  • 容器环境:实例 IP 随重建变化
  • 云主机:弹性地址或内网地址可变
  • 多机房统一命名:用域名表达实例归属
  • 客户端与监控一致性:避免公告地址与解析地址不同步
  • 版本升级评估:确认现有版本是否支持这些配置项
主机名解析依赖 DNS 稳定:解析抖动会直接反映成哨兵监控异常与误判下线,改配置前先确认解析链路的可靠性。
客户端与监控侧要同步支持主机名,否则公告地址变化后会解析失败;上线前用真实客户端验证连接与故障转移后的重连。
旧版本不认识这些配置项,混跑环境启动会直接报错;升级顺序与各节点版本一致性要在变更前确认。

易错点

  • 旧版本不认识这些配置项,混跑环境启动直接报错
  • 主机名与 IP 混用导致公告格式不一致,客户端解析需要额外兼容
  • DNS 解析不稳定,哨兵误判实例下线并触发不必要的切换
  • 只开解析不开公告(或反之),配置看似生效但对外地址仍是 IP
  • 容器重建后主机名变化,没有配套的服务发现与命名规范

数据来源与参考

  • Redis 7.0 Release Notes:主机名支持
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌