当我尝试按照此处的部署指南连接到主节点时,遇到MasterNotFoundError:https://docs.bitnami.com/tutorials/deploy-redis-sentinel-production-cluster/

我连接到Redis Sentinel主节点的代码是:

from redis.sentinel import Sentinel

redis_host = 'redis.default.svc.cluster.local'
redis_port = 26379
sentinel = Sentinel([(redis_host, redis_port)], socket_timeout=0.1, password='abc')
redis_client = sentinel.master_for('mymaster', password='abc')

在他们的GitHub repo中,我看到sendinel.masterSet的配置默认设置为mymaster。但是,当我尝试使用以下代码递增时:
redis_client.incr('counter', 1)

我面临redis.sentinel.MasterNotFoundError:找不到“mymaster”错误的主服务器。

我该如何解决?谢谢。

最佳答案

如此处报道的https://github.com/andymccurdy/redis-py/issues/1125设置的socket_timeout较低可能会导致MasterNotFound错误,因为每个实例都已轮询,但没有及时响应。您可以增加超时或将其删除以查看是否可以解决。

09-26 05:25