gpt4 book ai didi

redis 哨兵与集群中的服务器不同步

转载 作者:可可西里 更新时间:2023-11-01 11:21:26 26 4
gpt4 key购买 nike

我们有一个包含多个 redis (2.8) 服务器(比如 4 个)和同样多的 redis sentinel 的设置。在每台机器启动时,我们通过命令行将预选机器设置为主机,其余所有机器作为其从机。哨兵都在监视这些机器。客户端首先连接到本地哨兵并检索主站的 IP 地址,然后连接到那里。

此设置大部分时间都没有问题,但有时哨兵会与服务器不同步。如果我将机器命名为 A、B、C 和 D - 哨兵会认为 B 是主机,而 redis 服务器都连接到作为主机的 A。关闭 B 上的 Redis 服务器也无济于事。我不得不将其关闭并在 A 上手动“Sentinel 故障转移”来解决问题。问题是1. 是什么原因导致这种情况发生?解决此问题最简单快捷的方法是什么?2. 什么是最佳配置 - 还有比这更好的配置吗?

最佳答案

你唯一应该设置主人的时间是第一次。一旦 sentinel 接管了复制管理,你应该让它去做。这包括重新启动。不要使用命令行来设置复制。让sentinel和redis来管理吧。这就是你遇到问题的原因——你告诉哨兵它是权威的,但你告诉 Redis 服务器忽略哨兵。

Sentinel 将状态存储在它的配置文件中,因此当它重新启动时它可以恢复上次的配置。因此,即使在重新启动时,也让哨兵完成它的工作。

此外,如果您有 4 台服务器(具体而言,而不是“假设”),您应该在 sentinel 中的监视器语句中运行三台服务器的法定人数。法定人数为两人时,您可以结束两个主人

关于redis 哨兵与集群中的服务器不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29297718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com