当前位置: 首页 > 知识库问答 >
问题:

redis sentinel故障转移后返回旧主人

白禄
2023-03-14

我有3个redis Sentinel的盒子设置:

 CLIENT (connects to S1)
          |
          ↓
       +----+
       | M1 | us-east-1
       | S1 |
       +----+
          |
+----+    |    +----+
| R2 |----+----| R3 |
| S2 |         | S3 |
+----+         +----+
us-east-2      us-west-2

M1 - Master
S1 - Sentinel 1
S2 - Sentinel 2
S3 - Sentinel 3
R2 - First slave (R=replica)
R3 - Second slave

在我的主人死后,哨兵进行了故障转移到R2。我将M1重新联机(清除了一些磁盘空间),现在M1还活着,但是是R2的奴隶。是否有一种自动的(或半自动的)方法,使M1再次成为主,R2再次成为M1和我的流量的从属,使用M1作为主redis实例?

CLIENT (connects to S1)
          |
          ↓
       +----+
       |[R2]| us-east-2
       | S2 |
       +----+
          |
+----+    |    +----+
|[M1]|----+----| R3 |
| S1 |         | S3 |
+----+         +----+
us-east-1      us-west-2

共有1个答案

袁枫涟
2023-03-14

我认为KidDorails的回答是正确的,但很可能你也有和我一样的问题,因为某种原因,你的原始主人没有正确地复制。一旦修复了复制问题,我就可以通过发出哨兵故障转移mymaster来循环访问master。最初,它只是在两个原始的从服务器之间跳转,但现在我的原始主服务器正确地复制了,它正在循环通过所有3。因此,我建议在故障转移后检查原始主服务器的复制。如果您确定它正在工作,您还可以停止另一个从服务器,然后使用Sentinel FAILOVER MyMaster命令强制将故障转移到原始的主服务器。如果失败,您知道复制一定有问题。

 类似资料:
  • 我们正在尝试将Redis/Sentinel集群从2.8升级到3.2。升级将在交通繁忙的情况下发生。对我们来说,没有停机时间是可以接受的。 当我们准备升级主服务器时,所有从服务器都将运行在3.2上,并且这些从服务器能够与运行在2.8上的主服务器同步 一旦我们停止主服务器(2.8)或手动请求故障转移,新服务器(3.2)将成为主服务器。 我们希望将旧的master(2.8)保留一段时间,以便在发现新设置

  • 我正在尝试用6台机器实现一个Redis集群。我有一个由六台机器组成的流浪集群: 运行redis服务器 我编辑了上述所有服务器的/etc/redis/redis.conf文件,添加了这个 然后我在六台机器中的一台上运行了这个程序; Redis集群已启动并运行。我通过在一台机器上设置值手动检查它显示在其他机器上。 我的问题是,当我关闭或停止任何一台主机上的redis server时,整个集群都会停止运

  • 我有两个ActiveMQ Artemis服务器(server1和server2)。两者都是主人,在这种情况下没有奴隶。Artemis支持主对主故障转移吗?如果是,任何一个可以提供代理配置。目前,我已经在两个服务器的文件中定义了以下配置。 此外,如果可能的话,您是否可以提供示例客户端代码以测试主到主故障转移场景?

  • 我试图设置一个简单的,并将其配置为将主服务器故障转移到从服务器。 我设置了4个VM(使用),每个VM上都安装了redis。我有一个主机器和两个奴隶。最后一台机器是哨兵。 主服务器和从服务器都有默认配置,只是我将绑定地址更改为,而从服务器有行。 在哨兵中,我遵循了基本教程,并放入了以下设置: 我做错了什么?

  • 我在哨兵模式下运行redis,有1个主节点、2个副本节点和3个哨兵节点。我正在docker swarm环境中运行所有的节点。所有节点开始都很好。开始时,我们为节点提供了以下IP 接下来,我停止master容器,使master节点下降,以便sentinel应该选择一个副本节点作为新的master。这样做很好,节点被选择为新的主节点。 同时,docker swarm为创建新的容器,并作为从属加入red

  • 我们使用MQ作为传递消息的主要路径。这是我们的制度运作不可或缺的一部分。消息代理有时会失败,所有相关的队列也会随之失败。在camel中,有没有一种方法可以启动故障切换,并在其启动时恢复到主故障切换?