Redis Cluster FlushAll失败

NoSQL 同时被 2 个专栏收录
35 篇文章 1 订阅
20 篇文章 5 订阅

转自:http://longlongblog.cn/2017/11/01/58/

问题背景

Flush是一个极少用到的操作,不过既然碰到过诡异的现象,也记录在此。

问题场景是在Reids Cluster中使用主从模式,向主节点发送flush命令,预期主从节点都会清空数据库。但是诡异的现象出现了,我们得到的结果是主从节点发生了切换,并且数据并没有被清空。

问题分析

分析以上case,Redis采用单线程模型,flush操作执行的时候会阻塞所有其它操作,包括集群间心跳包。当Redis中有大量数据的时候,flush操作会消耗较长时间。所以该节点较长时间不能跟集群通信,当达到一定阈值的时候,集群会判定该节点为fail,并且会切换主从状态。

Redis采用异步的方式进行主从同步,flush操作在主节点执行完成之后,才会将命令同步到从节点。此时老的从节点变为了主节点,它不会再接受来自老的主节点的删除数据的操作。

当老的主节点flush完成的时候,它恢复与集群中其它节点的通讯,得知自己被变成了从节点,所又会把数据同步过来。最终造成了主从节点发生了切换,并且数据没有被清空的现象。

解决方案

解决方式:临时调大集群中所有节点的cluster-node-timeout参数

port 7000  //7000-7005
cluster-enabled yes   //开启集群
cluster-config-file nodes.conf  //保存节点配置,自动创建,自动更新
cluster-node-timeout 5000    //集群超时时间,节点超过这个时间没反应就断定是宕机
appendonly yes   //存储方式,aof,将写操作记录保存到日志中

 

  • 3
    点赞
  • 1
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p><span style="color: #666666;"><span style="font-size: 14px;">本课程讲了Vue3+Vue2入门基础与实战,其中还重点讲解了ES6、TypeScript这些基础知识,实战是</span></span><span style="color: #666666;"><span style="font-size: 14px;">价值5000元的真实企业级项目---仿京东电商网站,同时项目代码全部赠送</span></span><span style="color: #666666;"><span style="font-size: 14px;">,还赠送前后端架构模板,工作中直接使用。</span></span></p> <p> </p> <p><span style="color: #666666; font-size: 14px; background-color: #ffffff;">VUE是目前热门的前端框架之一,就业薪资很高,本课程教您如何快速学会VUE并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习VUE高薪就业的你来说,那么这门课程便是你手中的葵花宝典。</span><br /><br /><span style="color: #666666; font-size: 14px; background-color: #ffffff;">学习技巧:学习当中不要只看,一定要多敲代码,如果碰到某一个知识点不是很明白,不要钻牛角尖,千万不要因为一个点,放弃整个森林,接着往下学,硬着头皮开发项目只要能亲自开发一个完整的项目,你会发现不明白的地方自然而然就明白了,项目做出来就真正的学会了。</span><br /><br /><span style="color: #666666; font-size: 14px; background-color: #ffffff;">此vue课程以面试和实战为基础进行讲解,每个知识点都会让你知道在实际项目开发中如何使用,学习后,可以开发大型项目,增强逻辑思维,至少让你拥有3年以上开发经验的实力!</span><br /><br /><span style="color: #666666; font-size: 14px; background-color: #ffffff;">代码和ppt均可下载!</span><br /><br /></p> <p><span style="color: #666666; font-size: 14px; background-color: #ffffff;">免费提供《企业级完整实战项目接口文档》,绝对可用。</span></p> <p><img src="https://img-bss.csdn.net/202001090736032736.png" alt="" /><img src="https://img-bss.csdn.net/202001090736166806.png" alt="" /><img src="https://img-bss.csdn.net/202001090736273968.png" alt="" /></p> <p> </p> <p> </p>
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值