redis主从同步,总是显示master_link_status:down的解决方法

Redis从节点同步问题解决
本文介绍了一台Redis从节点在修改监听端口并重启后遇到的master_link_status长时间为down状态的问题。通过调整client-output-buffer-limitslave参数解决了I/O错误导致的连接丢失问题,并提供了详细的解决步骤。

前几天,在修改一台从节点的redis的监听端口后,重启了下redis,发现master_link_status:很长时间一直都是down状态。

查看了redis日志,发现日志里出现很多的“I/O error trying to sync with MASTER:connection lost'”


百度了下,发现是client-output-buffer-limit slave这个参数配置不当造成的。

网上找到的相关说明:

# 这个参数太小的话,错误日志会显示I/O error trying to sync withMASTER: connection lost'

这是说负责发数据给slave的client,如果buffer超过256m或者连续60秒超过64m,就会被立刻强行关闭!!! Traffic大的话一定要设大一点。否则就会出现一个很悲剧的循环,Master传输一个大的RDB给Slave,Slave努力的装载,但还没装载完,Master对client的缓存满了,再来一次。

 

解决方法:

# redis-cli -a 'xxxxxxx'  密码方式连接到redis服务器

> config set client-output-buffer-limit slave 1024mb  256mb 0  这样动态修改下参数即可,省的重启redis,造成数据再次同步。

稍等片刻,执行 > info replication

如果master_link_status变成up了,说明我们的配置生效了。

然后,还要去修改下redis.conf里面的设置,免得重启redis后,修改的client-output-buffer-limit 配置丢失。










本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1871638,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值