首页 > 其他 > 详细

redis client-output-buffer-limit 与主从同步遇到的问题

时间:2019-11-15 15:30:43      阅读:185      评论:0      收藏:0      [点我收藏+]

遇到的问题及说明

在一个生产项目中redis采用sentinel集群,在一次故障主从切换后,主从同步一直存在异常,在日志中发现有这样一条日志,不停的刷新。

技术分享图片

在主从切换时,主库会进行rdb文件备份,备份完成后传给从库,从库load接收的文件。这期间主库的情况会存在一个复制积压缓存区中,等从库load完成后,主库把数据发给从库

上面的错误是在这个过程中积压缓存区写满,导致主库断掉从库连接,同步失败;从库发现失败后又重新支持slaveof;从而导致不停的断开,重连。

解决办法

解决办法是修改 client-output-buffer-limit,在redis配置文件中默认配置是client-output-buffer-limit slave 256mb 64mb 60,对于访问量很大或存储数据很多redis服务,这个设置太小了,需要调大或直接取消限制

登入master执行命令:config set client-output-buffer-limit ‘slave 0 0 0‘  //取消限制

然后执行 config rewrite 将改动保存到redis配置文件

然后在修改slave的配置,避免再次故障切换出现同样的问题

 

redis client-output-buffer-limit 与主从同步遇到的问题

原文:https://www.cnblogs.com/pk-tiger/p/11866423.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!