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

Redis Sentinel手动故障转移命令超时

万修为
2023-03-14

Redis Sentinel手动故障转移命令超时

[8]01 7月01:36:57.317#哨兵runid为c337f6f0dfa1d41357338591cd0181c07cb026d0
[8]01 7月01:38:13.135#+监视器主redis-holt-overflow 10.19.8.2 6380法定人数1
[8]01 7月01:38:13.135#+设置主redis-holt-overflow 10.19.8.2 6380毫秒后下降3100
[8]01 7月01:38:13.199*+从从10.19.8.3:6381 10.19.8.83:6381@redis-holt-overflow 10.19.8.2 6380
[8]01 Jul 01:38:42.288#正在执行用户请求的'redis-holt-overflow'
[8]01 Jul 01:38:42.288#+new-epoch 1
[8]01 Jul 01:38:42.288#+try-failoverflow master redis-holt-overflow 10.19.8.2 6380
[8]01 Jul 01:38:42.352故障转移#+投票-领导c337f6f0dfa1d41357338591cd0181c07cb026d0 1
[8]01 7月01:38:42.352#+当选-领导主redis-holt-overflow 10.19.8.2 6380
[8]01 7月01:38:42.352#+故障转移-状态-选择-从主redis-holt-overflow 10.19.8.2 6380
[8]01 7月01:38:42.404#+选择-从主Redis-Holt-Soverflow 10.19.8.3:6381 10.19.8.8.3 6381@redis-holt-overflow r>[8]01 Jul 01:38:42.404*+故障转移-状态-发送-从机-无人从机10.19.8.3:6381 10.19.8.8.3 6381@redis-holt-overflow 10.19.8.2 6380
[8]01 Jul 01:38:42.488*+故障转移-状态-等待-升级从机10.19.8.3:6381 10.19.8.8.3 6381@redis-holt-overflow 10.19.8.2 6380
[8]01 Jul 01:41:42.565#-failover-abort-slave-timeout master redis-holt-overflow 10.19.8.2 6380

[17]01 Jul 01:13:58.251#服务器已启动,Redis版本2.8.21
[17]01 Jul 01:13:58.252#警告overcommit_memory设置为0!在内存不足的情况下,后台保存可能会失败。要解决此问题,请将'vm.overcommit_memory=1'添加到/etc/sysctl.conf,然后重新启动或运行命令'sysctl vm.overcommit_memory=1'以使其生效。
[17]01 Jul 01:13:58.252#警告您的内核中启用了透明大页(THP)支持。这会造成Redis的延迟和内存使用问题。要解决此问题,请以root用户身份运行命令'echo never>/sys/kernel/mm/transparent_hugepage/enabled',并将其添加到/etc/rc.local,以便在重新启动后保留该设置。禁用THP后,Redis必须重新启动。
[17]01 Jul 01:13:58.252#警告:无法强制执行TCP backlog设置511,因为/proc/sys/net/core/somaxconn设置为较低值128。
[17]01 Jul 01:13:58.252*DB从磁盘加载:0.000秒
[17]01 7月01:13:58.252*服务器现在可以接受端口6380上的连接
[17]01 7月01:34:45.796*从机10.196.88.30:6381请求同步
[17]01 7月01:34:45.796*从机10.196.88.30:6381
[17]01 7月01:34:45.796*启动BGSAVE以与目标同步:磁盘
[17]01 7月01:34:45.797*后台保存由pid 20
[20]01 7月01:34:45.798*在磁盘上保存的DB
[20]01 7月01:34:45.799*RDB:写入时复制使用的内存0 MB
[17]01 7月01:34:45.808*后台保存成功终止
[17]01 7月01:34:45.808*与从机同步10.196.88.30:6381成功
[17]01 7月01:38:42.343#与从机10.196.88.30:6381连接丢失。
[17]01 7月01:38:43.275*从机10.196.88.30:6381请求同步
[17]01 7月01:38:43.275*从机10.196.88.30:43.275*请求完全重新同步
[17]01 7月01:38:43.275*启动BGSAVE用于与目标同步:磁盘
[17]01 7月01:38:43.275*后台保存由pid启动21
[21]01 7月01:38:43.277*DB保存在磁盘
[21]01 7月01:38:43.277*RDB:使用的内存为0 MB写入时复制
[17]01 7月01:38:43.368*后台保存成功终止
[17]01 7月01:38:43.368*与从机同步10.196.88.30:6381成功

[14]01 7月01:15:51.435#服务器已启动,Redis版本2.8.21
[14]01 7月01:15:51.435#警告overcommit_memory设置为0!在内存不足的情况下,后台保存可能会失败。要解决此问题,请将'vm.overcommit_memory=1'添加到/etc/sysctl.conf,然后重新启动或运行命令'sysctl vm.overcommit_memory=1'以使其生效。
[14]01 Jul 01:15:51.435#警告您的内核中启用了透明大页(THP)支持。这会造成Redis的延迟和内存使用问题。要解决此问题,请以root用户身份运行命令'echo never>/sys/kernel/mm/transparent_hugepage/enabled',并将其添加到/etc/rc.local,以便在重新启动后保留该设置。禁用THP后,Redis必须重新启动。
[14]01 Jul 01:15:51.435#警告:无法强制执行TCP backlog设置511,因为/proc/sys/net/core/somaxconn设置为较低值128。
[14]01Jul 01:15:51.435*从磁盘加载DB:0.000秒
[14]01Jul 01:15:51.435*服务器现在已准备好接受端口6381
[14]01Jul 01:34:45.088*从服务器10.196.88.29:6380启用(用户请求)
[14]01Jul 01:34:45.947*连接到主服务器10.196.88.29:6380
[14]01Jul 01:34:45.947*主服务器<->从服务器同步开始
[14]01Jul 01:34:45.948*不阻止同步连接C触发了事件。
[14]01 7月01:34:45.948*主服务器回复了PING,复制可以继续...
[14]01 7月01:34:45.948*无法部分重新同步(没有缓存的主)
[14]01 7月01:34:45.948*来自主的完全重新同步:b912b647401917d52742c0eac3f795f59f48f:1
[14]01 7月01:34:45.960*主<->从同步:从主接收18个字节
[14]01 7月01:34:45.960*主<->从同步:刷新旧数据
[14]01 7月01:34:45.960*主<->从同步:刷新旧数据
[14]01 7月01:34:45.960*主<->从同步同步:在内存中加载数据库
[14]01 Jul 01:34:45.960*主服务器<->从服务器同步:成功完成
[14]01 Jul 01:38:42.495#与主服务器的连接丢失。
[14]01 Jul 01:38:42.495*缓存断开连接的主状态。
[14]01 Jul 01:38:42.495*丢弃以前缓存的主状态。
[14]01 7月01:38:42.495*主模式启用(用户请求)
[14]01 7月01:38:42.495#配置重写成功执行。
[14]01 7月01:38:42.506*启用10.196.88.29:6380的从服务器(用户请求)
[14]01 7月01:38:43.425*连接到主服务器10.196.88.29:6380
[14]01 7月01:38:43.426*主服务器<->从服务器同步启动
[14]01 7月01:38:43.426*非阻塞连接以启动同步事件。
[14]01 7月01:38:43.427*主机回复了PING,复制可以继续...
[14]01 7月01:38:43.427*无法部分重新同步(没有缓存的主)
[14]01 7月01:38:43.427*来自主的完全重新同步:b912b647401917d52742c0eac3f795f59f:10930
[14]01 7月01:38:43.520*主<->从同步:从主接收18个字节
[14]01 7月01:38:43.520*主<->从同步:刷新旧数据
[14]01 7月01:38:43.520*主<->>从同步:在内存中加载数据库
[14]01 Jul 01:38:43.520*主<->从同步:成功完成

端口26379
pidfile“/var/run/redis-sentinel.pid”
logfile“
daemonize no

dir“/data”
哨兵监视器redis-holt-overflow 10.19.8.2 6380 1
哨兵下降-毫秒后redis-holt-overflow 3100
哨兵配置-纪元redis-holt-overflow 0
哨兵领导者-纪元redis-holt-overflow 1
哨兵已知-从redis-holt-overflow 10.19.8.3 6381
哨兵电流-纪元1

redis_version:2.8.21 redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:551c16ab9d912477
redis_mode:standalone
OS:linux 380
uptime_in_seconds:1312
uptime_in_days:0
hz:10
lru_clock:9642428
config_file://usr/local/etc/redis/redis.conf

共有1个答案

阎雪峰
2023-03-14

您似乎遇到了“Docker Network”问题。如果你看你的日志,他们显示不同的IP。这是由于在发现过程中检测到连接的IP。这些是在不同的docker主机上吗?

从文档中:

由于Sentinels使用masters INFO输出信息自动检测从属程序,因此检测到的从属程序将无法到达,Sentinel将永远无法对主程序进行故障转移,因为从系统的角度来看,没有好的从属程序,因此目前无法使用Sentinel监视使用Docker部署的一组主程序和从程序实例,除非您指示Docker将端口映射为1:1。

对于sentinel,可以在https://registry.hub.docker.com/u/joshula/redis-sentinel/找到一个docker映像,其中显示了使用公告-IP和绑定来设置它。

有关更多细节,请参见http://html" target="_blank">redis.io/topics/sentinel(特别是Docker部分),其中详细介绍了如何在Docker中设置以处理这种情况。

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

  • 问题内容: 在简单情况下,如果3台服务器具有1个主服务器和2个从属服务器而没有分片。是否有使用Java和Jedis的经过验证的解决方案,该解决方案没有单点故障,并且将自动处理单个服务器(无论是主服务器还是从服务器)(自动故障转移)。例如,提升主机并在故障后重置,而不会丢失任何数据。 在我看来,这似乎应该是一个已解决的问题,但是我找不到关于它的任何代码,而仅是对实现此方法的高级描述。 谁实际覆盖并在

  • 我们有一个mongodb副本设置,包含两个成员和一个仲裁器: db1-primary db2-secondary 仲裁者 我假设它可以检查返回到集合的服务器,而不会阻止其他db值。 有什么想法或为什么会发生这种情况?或改善行为的方法?

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

  • 我是卡珊德拉的新成员。 我在两台 Debian VMware 机器上创建了 2 个 cassandra 2.1 节点。在 asp.net mvc 中,我使用了 datastax 驱动程序 2.1.5,实际上没有任何问题,但是当我关闭或禁用其中一个节点上的网络时,应用程序似乎有 5 或 10 秒的延迟来自动连接其他节点。 当两个节点启动时,查询在c00:00:00.0620413秒内运行,当一个节点

  • 我们有一个mongodb副本集,其中包含两个实例(127.0.0.1:27017-主要,127.0.0.1:27018-次要)和一个仲裁器(127.0.0.1:27019)。当我使用rs.steppdown(60)从主实例中退出时,它应该成为辅助实例,辅助实例应该成为主实例,所有写操作都应该在辅助实例中发生(退出后的主实例)。但在卸任后,我遇到了一个异常“无法将数据写入传输连接:远程主机强制关闭了