redis主从同步,总是显示master_link_status:down的解决方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis主从同步,总是显示master_link_status:down的解决方法相关的知识,希望对你有一定的参考价值。
前几天,在修改一台从节点的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 slave1024mb 256mb 0 这样动态修改下参数即可,省的重启redis,造成数据再次同步。
稍等片刻,执行 > info replication
如果master_link_status变成up了,说明我们的配置生效了。
然后,还要去修改下redis.conf里面的设置,免得重启redis后,修改的client-output-buffer-limit 配置丢失。
以上是关于redis主从同步,总是显示master_link_status:down的解决方法的主要内容,如果未能解决你的问题,请参考以下文章