我的编程空间,编程开发者的网络收藏夹
学习永远不晚

redis主从复制同步数据死循环问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

redis主从复制同步数据死循环问题

redis主从复制同步数据死循环问题

发现现象:

最近有问必答codis一个从库端口6504一直时不时,主从延时和从库连接不上的报警,开始怀疑是redis备份导致,没有深入去找原因,后面发现白天也在报警,故深入排查了一下原因。

host: 10.20.1.4

port: 6504

idc: KDDI

role: redis_s

item: r_replication

current: 32767

last: 1 minutes.

info: 

send at [2015-11-27 09:17:49]

------------------------------------------

host: 10.20.1.4

port: 6504

idc: KDDI

role: redis_s

item: r_connection

current: 0

last: 1 minutes.

info: failed

send at [2015-11-27 08:13:46]

问题现象:

1、登录到从库所在服务器,奇怪的发现了,从库周期性的在产生temp-rewriteaof-xxx.aof文件,见下图

redis主从复制同步数据死循环问题

2、从库的日志里面出现大量“Connection with master lost”日志,从句面意思来理解是说主库连接丢失,见下图

redis主从复制同步数据死循环问题

3、登录到主库,查看日志发现了"Connection with slave 10.20.1.4:6504 lost"和“scheduled to be closed ASAP for overcoming of output buffer limits.”两条重要信息

redis主从复制同步数据死循环问题

4、登录到主库使用info命令发现“slave0:ip=10.20.1.4,port=6504,state=send_bulk,offset=0,lag=0”

redis主从复制同步数据死循环问题

问题分析:

1、通过从库周期性的生成aof文件以及日志里面看到周期性的连接主库lost现象,初步怀疑是复制层面的问题,并查看其他几个从库的日志没有发现这种情况,先排除网络问题

2、在主库也发现了连接从库lost现象,确定是6504端口redis内部的问题,并且看到“overcoming of output buffer limits”,提示buffer限制了

3、以上信息基本上可以确认问题的原因,先回想一下redis主从复制原理:当在从库执行slaveof ip port命令之后,主库会使用bgsave生成一个rdb快照文件,生成文件之后通过网络将这个文件传到从库,同时主库上会将生成rdb快照那一刻起的新数据写的一个buffer缓冲区,另一方面,从库接受主库刚刚生成那个rdb文件之后,开始加载这个rdb文件,加载需要一定时间,如果这个时间越长,其主库的写入量越大,那么刚刚主库产生的buffer也会越大(当然不能无限大),在主库client-output-buffer-limit参数 slave 268435456 67108864 60设置了其大小,意思说如果buffer大小超过256Mb或者连续60秒钟产生的buffer大小大于64Mb,则buffer会强制关闭

解决办法:

1、调整主库client-output-buffer-limit默认参数,CONFIG SET client-output-buffer-limit "slave 1073741824 268435456 300",将其限制设置为1G,连续300秒超过256Mb才强制关闭,问题解决。

在主库的日志里面看到现象如下:

redis主从复制同步数据死循环问题

在从库的日志里面看到现象如下:

redis主从复制同步数据死循环问题

 


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

redis主从复制同步数据死循环问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Mariadb数据库主从复制同步配置过程实例

目录一、环境规划二、mariadb的主从复制介绍1.主从复制简介2.半同步复制介绍3.主从复制原理图三、安装Mariadb1.配置yum仓库2.检查yum仓库3.安装mariadb4.启动mariadb服务5.从节点安装mariadb四、m
2022-11-24

Mariadb数据库主从复制同步配置过程实例

一、环境规划hostnameIP地址系统版本角色master192.168.3.171centos 7.6主节点node01192.168.3.172centos 7.6从节点node02192.168.3.173centos 7.6从节点二、Mariadb的主从复制介绍1.主从复制简介主从同步使得数据可以从一个数据库
Mariadb数据库主从复制同步配置过程实例
2024-04-02

数据同步的超能力:主从复制的非凡能力

数据同步是现代应用程序中至关重要的功能,主从复制是一种强大的复制机制,可通过保持多个数据副本的一致性来实现可靠的数据同步。
数据同步的超能力:主从复制的非凡能力
2024-03-03

递归查询在数据复制中的同步问题

递归查询在数据复制中的同步问题是指在分布式系统或数据库系统中,为了保持数据的一致性和完整性,需要对数据进行复制和同步数据不一致:在数据复制过程中,由于网络延迟、节点故障等原因,可能导致数据在不同副本之间存在不一致的情况。这种不一致可能导致查
递归查询在数据复制中的同步问题
2024-09-08

数据库同步的秘密武器:揭秘主从复制的魔力

数据库同步的秘密武器:主从复制的魔力
数据库同步的秘密武器:揭秘主从复制的魔力
2024-03-03

MySQL主从复制虽好,能完美解决数据库单点问题吗?

一、单个数据库服务器的缺点 数据库服务器存在单点问题; 数据库服务器资源无法满足增长的读写请求; 高峰时数据库连接数经常超过上限。   二、如何解决单点问题 增加额外的数据库服务器,组建数据库集群; 同一集群中的数据库服务器需要具有相同的数据;
MySQL主从复制虽好,能完美解决数据库单点问题吗?
2020-09-08

编程热搜

目录