如何在sentinel配置中切换redis master

Sri*_*ula 0 redis redis-sentinel

我有一个 redis 哨兵配置,其中有一个主服务器、两个从服务器和 3 个正在运行的哨兵。我注意到,在某些时候,哨兵可能会切换主站,选举其中一个从站作为主站。这会给作为独立客户端连接到主节点的应用程序带来问题(我正在努力更改代码以使用哨兵)。我想知道是否可以通过连接到哨兵客户端(即通过“ ”)来切换主redis-cli服务器

有人可以告诉我是否有可以用来切换主IP的命令吗?

Mic*_*ung 6

客户端应用程序应该使用支持哨兵的客户端库,以防 Redis 主服务器出现故障并且哨兵选择新的主服务器。如果您的客户端应用程序没有利用哨兵设置,则不确定它有多大好处。支持哨兵的客户端应用程序将查询哨兵的主 IP,并且应该对主连接发生的故障有一定的容忍度。您可以像其他答案所述一样触发手动故障转移:

redis-cli -h {sentinel-ip} -p {26379 or sentinel port} sentinel failover {mastername}
Run Code Online (Sandbox Code Playgroud)

但您将无法选择故障转移到哪个节点。您可以控制 redis.conf 文件中的配置值slave_priority,以便它优先选择某个节点而不是其他节点。从站优先级的描述可以在这里找到: https: //redis.io/topics/sentinel