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

Redis sentinel不会故障转移我的主人

邵伟
2023-03-14

我试图设置一个简单的redis-sentinel,并将其配置为将主服务器故障转移到从服务器。

我设置了4个VM(使用VirtualBox),每个VM上都安装了redis。我有一个主机器和两个奴隶。最后一台机器是哨兵。

主服务器和从服务器都有默认配置,只是我将绑定地址更改为bind 0.0.0.0,而从服务器有slaveof 6379 行。

在哨兵中,我遵循了基本教程,并放入了以下设置:

sentinel monitor mymaster <master-ip> 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 6000
sentinel parallel-syncs mymaster 1
1922:X 13 Jun 14:03:53.446 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1922:X 13 Jun 14:03:53.446 # Sentinel ID is dc901c767178ddf8f569c4a17b79df2938342ede
1922:X 13 Jun 14:03:53.446 # +monitor master mymaster <master-ip> 6379 quorum 2
1922:X 13 Jun 14:04:04.595 # +sdown master mymaster <master-ip> 6379

我做错了什么?

共有1个答案

秦才
2023-03-14

愚蠢的错误。

我将quorum参数设置为2。quorum参数设置在提升从机之前需要同意主机关闭的哨兵数。我只有一个哨兵,然后没有奴隶被提升。

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

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

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

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

  • 我有两个memcached服务器。我设置了以下配置,我的期望是,即使两个服务器中的一个关闭,我的PHP应用程序也可以使用alive memcached。但没有奏效。当我执行Memcached的get()方法时,我遇到了“No Memcached servers added”错误。 我使用的是最新版本的memcached服务器和客户端。 你有什么想法吗? https://github.com/ill

  • 我在端口7000、7001和7002上设置了三个服务器(一个主服务器和两个从服务器),在端口26379、26380和26381上设置了三个哨兵,它们都在同一台机器(ubuntu VM)上。 当我启动它们时,根据日志,一切看起来都很好,当我对哨兵运行信息命令时,看起来也很健康。但是当我放下主程序(通过Ctrl+C或redis-cli SLEEP命令使其停止工作)时,没有一个从程序实例被引入为新的主程