我们有一个设置,有许多redis (2.8)服务器(假设4)和许多redis哨兵。在启动每台机器时,我们通过命令行将一台预选机器设置为主计算机,其余的则设置为该机器的奴隶。哨兵们都监视着这些机器。客户端首先连接到本地哨兵并检索主服务器的IP地址,然后在那里连接。
这种设置在大多数情况下是没有麻烦的,但有时哨兵与服务器不同步。如果我把机器命名为A,B,C和D-哨兵会认为B是主设备,而redis服务器都是连接到A的主机。把redis服务器放在B上也没有帮助。我不得不把它拿下来,用手工“哨兵故障转移”来解决这个问题。问题是1。是什么导致了这种情况,最简单和最快的解决方法是什么? 2.什么是最好的配置--还有比这更好的东西吗?
发布于 2015-03-28 00:34:06
你唯一应该设置主人的时间是第一次。一旦哨兵接管了复制的管理,你应该让它去做。这包括重新启动。不要使用命令行设置复制。让哨兵和红人来处理吧。这就是你遇到问题的原因--你已经告诉哨兵它是权威的,但是你告诉红宝石服务器忽略哨兵。
哨兵将状态存储在其Config文件中,因此当它重新启动时,可以恢复最后的配置。所以即使在重启的时候,也让哨兵去做它的工作。
另外,如果您有4台服务器(要具体,而不是“让我们说”),那么您应该在sentinel的监视器语句上运行3的仲裁。在法定人数为2的情况下,你可以得到两位大师。
https://stackoverflow.com/questions/29297718
复制相似问题