zabbix告警突然从某个时间点开始提示CPU使用高,网卡流量也一直居高不下。

首先查看redis日志,发现告警时间点redis主节点被重启了,发生了主备切换,并且在日志中发现这么一段

[3081] 06 Dec 02:33:28.090 # Client addr=****:35810 fd=122 name= age=88 idle=88 flags=S db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=16299 oll=3041 omem=79211304 events=rw cmd=psync scheduled to be closed ASAP for overcoming of output buffer limits.
[3081] 06 Dec 02:33:28.090 # Connection with slave *****:6379 lost.

scheduled to be closed ASAP for overcoming of output buffer limits意思是:psync的命令超过了output-buffer-limits,master主动关闭了slave的连接。然后slave被断开了和master的连接,然后slave又重新找master请求同步,然后就陷入了恶性循环,slave找master做全同步的过程是一个很消耗cpu消耗io消耗带宽的过程,所以会一直持续的告警。

output-buffer-limits这个参数的作用是:当客户端来获取数据的时候,数据会被保存在output-buffer中,等信息传输完后output-buffer中的数据会被清理掉,redis对output-buffer做了限制。

这个时候问题根源已经找到,就是主备切换以后要同步的数据过大,超出了output-buffer-limits这个参数设置的值,所以数据同步一直失败。

解决办法:

在master节点执行redis-cli config set client-output-buffer-limit slave '2147483648 1073741824 300',放大这个限制,当然这个参数里面的3个数字需要根据自己的系统实际情况来定。

redis-cli  config rewrite -这个命令是将变更的配置落地到配置文件的,即使redis再次重启,这个变更也不会失效。这部可执行可不执行。

2147483648 -是一个硬性限制,当output-buffer的大小大于2147483648之后就会断开连接

1073741824 300 -是一个软限制,当output-buffer的大小大于1073741824并且超过了300秒的时候就会断开连接

注意:执行完这个命令机器的cpu和内存都会有一定的上涨。

记一次redis主从同步失败的更多相关文章

  1. redis主从同步故障切换及集群配置

    一.redis是一中高性能的缓存数据库, 原理:1. 从服务器向主服务器发送 SYNC 命令.2. 接到 SYNC 命令的主服务器会调用BGSAVE 命令,创建一个 RDB 文件,并使用缓冲区记录接下 ...

  2. redis 主从同步&哨兵模式&codis

    主从同步 1.CPA原理 1. CPA原理是分布式存储理论的基石: C(一致性):   A(可用性):  P(分区容忍性); 2. 当主从网络无法连通时,修改操作无法同步到节点,所以“一致性”无法满足 ...

  3. Redis系列之(二):Redis主从同步,读写分离

    1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...

  4. redis 主从同步

    修改redis.conf配置文件 vi redis.conf 在编辑模式下 输入  /slaveof 来搜索 将slaveof启用 即 将#删除 依次配置所有 slave 并将进程 kill 掉 重启 ...

  5. Redis主从同步介绍

    Redis主从同步命令和配置项 启动主从复制:master无需任何操作,slave中使用以下任意一种开启复制功能 (1).通过配置文件启动主从复制: 在redis.conf中加入"slave ...

  6. Redis系列之(二):Redis主从同步,读写分离(转)

    1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...

  7. Redis主从同步要深入理解?一篇文章足矣!

    前言: 今天想和大家分享有关 Redis 主从同步(也称「复制」)的内容. 我们知道,当有多台 Redis 服务器时,肯定就有一台主服务器和多台从服务器.一般来说,主服务器进行写操作,从服务器进行读操 ...

  8. 一文让你明白Redis主从同步

    今天想和大家分享有关 Redis 主从同步(也称「复制」)的内容. 我们知道,当有多台 Redis 服务器时,肯定就有一台主服务器和多台从服务器.一般来说,主服务器进行写操作,从服务器进行读操作. 那 ...

  9. Redis主从同步原理-SYNC【转】

    和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况.为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,下图为级 ...

随机推荐

  1. FPGA综合的约束

    近日发现,有些逻辑电路的综合时间约束和布局布线约束相差太大时,难以布通.此时,应该选择尽量接近的时钟约束.

  2. 使用charles对jmeter进行抓包

  3. 初识RSA

    基础知识:http://www.guideep.com/read?guide=5676830073815040# python实现:https://blog.csdn.net/bian_h_f6127 ...

  4. FZU Monthly-201909 获奖名单

    FZU Monthly-201909 获奖名单 冠军: 空缺 一等奖: 张咏真 S031802540 孔铖晗 S031802115 二等奖: 苏锦程 S031802325 林柄灿 S031802117 ...

  5. 【技术博客】JWT的认证机制Django项目中应用

    开发组在开发过程中,都不可避免地遇到了一些困难或问题,但都最终想出办法克服了.我们认为这样的经验是有必要记录下来的,因此就有了[技术博客]. JWT的认证机制Django项目中应用 这篇技术博客基于软 ...

  6. tinylib

    tinylib.h /* -------------------------------------------------------------------------------- oooo ` ...

  7. CSAGAN的几大重点 - 2

    1.生成器 1)MRU(SketchyGAN) 计算过程为: 与DCGAN[46]和ResNet生成架构的定性和定量比较可以在5.3节中找到.MRU块有两个输入:输入特征图xi和图像I,输出特征图yi ...

  8. 国内pip源及pip命令

    更换PIP源 PIP源在国外,速度慢,可以更换为国内源,以下是国内一些常用的PIP源. 豆瓣(douban) http://pypi.douban.com/simple/ (推荐) 清华大学 http ...

  9. GWAS+自然选择:62个样本的GWAS分析,没信号,如何巧妙的发文章

    欢迎来到"bio生物信息"的世界 6天前,BMC Genomics 推了一篇文献"Population history and genetic adaptation of ...

  10. 【设计】Facebook的语调设计-做的珍惜

    http://www.woshipm.com/pd/3206743.html 做的是真细呦