【发布时间】:2016-05-23 22:12:30
【问题描述】:
我已经使用此处的指南成功设置了受密码保护的 redis 集群:
http://kubernetes.io/v1.1/examples/redis/
我可以使用redis-cli很好地连接到哨兵,但是即使我暴露了哨兵,我也无法连接到redis主/从。
我正在使用 ruby 和以下连接字符串。我做错了吗?
SENTINELS = [{host: "104.122.24.897", port: 26379}]
redis = Redis.new(url: "redis://mymaster", sentinels: SENTINELS, :role => :master, password: "longasspassword", timeout: 16)
我得到的错误是:
Error connecting to Redis on 10.64.7.33:6379 (Redis::TimeoutError) (Redis::CannotConnectError)`
【问题讨论】:
-
奇怪的是您的错误显示的是默认端口,而不是您指定的端口。是不是没有正确监听你的配置?
-
我认为哨兵应该只是转发给 redis 主控,对吧?出现的端口是我相信的 redis 主端口..
-
好点。在这种情况下,您的哨兵可能配置错误?
-
没有哨兵不转发。将它们视为查找服务。客户端必须支持哨兵查找。
-
我认为问题在于哨兵提供的本地 IP 为 10.64.7.33 .. 我尝试使用全局 IP 公开 redis-master-slave 服务,并且可以使用我的密码连接到它。 . 但是我在尝试写东西时收到错误
(error) READONLY You can't write against a read only slave.。我也无法通过 redis sentinel 连接到 master
标签: ruby redis kubernetes redis-sentinel