You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker环境下Redis Sentinel自动发现功能失效求助

Redis Sentinel无法自动发现彼此的解决方案建议
  • 检查Docker端口映射与网络连通性
    确保每个Sentinel容器启动时已通过-p 26379:26379完成端口映射,同时三个主机之间的26379端口未被防火墙/安全组拦截。可通过telnet <host-ip> 26379或nc -zv <host-ip> 26379验证跨主机端口连通性。

  • 确认announce-ip/announce-port配置生效
    进入每个Sentinel容器,执行SENTINEL GETCONFIG announce-ip和SENTINEL GETCONFIG announce-port,验证返回值是否为对应主机的可访问IP和26379端口。若配置未生效,需确认启动Sentinel时指定了正确的配置文件路径,且修改配置后已重启Sentinel服务。

  • 检查Sentinel的myid唯一性
    每个Sentinel必须拥有唯一的myid标识。查看各Sentinel的sentinel.conf文件中的myid字段,若存在重复值,修改为随机16位字符串后重启Sentinel。

  • 验证__sentinel__:hello频道消息内容
    在Master节点执行PSUBSCRIBE __sentinel__:hello,查看每条消息的第五个参数(Sentinel的IP:端口)是否与配置的announce-ip:26379一致。若消息中显示容器内部IP,说明announce-ip配置未正确加载,需检查配置文件路径及启动参数。

  • 排查Sentinel日志错误
    查看各Sentinel的日志文件(路径通常为/var/log/redis/sentinel.log或容器内对应路径),搜索sentinel hello相关日志,检查是否存在无法连接其他Sentinel的错误信息(如Could not connect to Sentinel at x.x.x.x:26379),根据日志定位网络或配置问题。

  • 手动添加Sentinel节点验证
    若自动发现仍异常,可在任意Sentinel中执行SENTINEL SENTINEL mymaster <other-sentinel-ip> 26379手动添加节点,再执行SENTINEL SENTINELS mymaster查看是否能列出。若手动添加成功,说明网络连通正常,需重点排查自动发现的消息解析或配置加载问题。

内容的提问来源于stack exchange,提问作者Navin Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:46:28