pha*_*der 5 python bitnami redis redis-sentinel redis-py
当我尝试按照此处的部署指南连接到主节点时,我遇到了 MasterNotFoundError: https: //docs.bitnami.com/tutorials/deploy-redis-sentinel-product-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')
Run Code Online (Sandbox Code Playgroud)
在他们的GitHub 存储库中,我看到 Sentinel.masterSet 的配置默认设置为 mymaster。但是当我尝试使用下面的代码递增时:
redis_client.incr('counter', 1)
Run Code Online (Sandbox Code Playgroud)
我面临 redis.sentinel.MasterNotFoundError: No master found for 'mymaster' 错误。
我该如何解决这个问题?谢谢。
小智 1
你在哪里执行该代码?如果您尝试从集群外部连接,则需要将服务设置为 LoadBalancerIP。在执行代码之前,您是否测试过是否直接连接到该主机?例如,使用ping. 在这里您可以看到如何将哨兵服务部署为LoadBalancer:https://github.com/bitnami/charts/tree/master/bitnami/redis。您需要设置sentinel.service.type为LoadBalancerIP. 我希望这能帮到您。