redis cluster移除无效节点

我们都知道通过cluster nodes可以查看集群列表,当遇到机器下线或者机器物理故障的时候需要置换机器。但是通过cluster nodes查看的时候还可以看到原来的无效ip, 所幸redis提供了cluster forget xx这个命令。

突然有一次执行完cluster forget后,经过短暂的几秒后,依然可以查到该无效ip,但是节点状态变成了"handshake"握手状态,而且nodeId在不停的发生变化。

后面经查证,是因为集群所有节点都持有该节点的信息,不停的在发起重连操作。而且redis作者也针对这种情况给出了结论:

There are only two ways this can happen:
    1. You fail to send CLUSTER FORGET to all the nodes in the cluster. So eventually there are nodes that still has a clue about this other node, and it will inform the other nodes via gossip. Make sure to send CLUSTER FORGET to every single node in the cluster.
    2. Or alternatively, there is an instance running in 10.15.107.150 but you said there is not.

也就是需要在redis cluster所有节点上(包括从节点)执行cluster forget xx操作,才能彻底的移除掉无效节点列表,问题才得以解决。

参考文章: https://githubmota.github.io/2018/06/15/TODO/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 概要介绍 1.1 应用场景 缓存:相对静态、或变化缓慢的数据,可以利用缓存降低数据库IO压力,提升性能 分布式...
    可笑可乐阅读 9,347评论 4 5
  • NOSQL类型简介键值对:会使用到一个哈希表,表中有一个特定的键和一个指针指向特定的数据,如redis,volde...
    MicoCube阅读 4,044评论 2 27
  • redis集群分为服务端集群和客户端分片,redis3.0以上版本实现了集群机制,即服务端集群,3.0以下使用客户...
    hadoop_null阅读 1,604评论 0 6
  • 前面我们介绍了国人自己开发的Redis集群方案——Codis,Codis友好的管理界面以及强大的自动平衡槽位的功能...
    Jackeyzhe阅读 2,091评论 0 3
  • 昨日参观了一场校园画展,是关于重庆小城的风光摄影,一只团队,一线黄色,一抹笑颜,一页光影,载入时光的长河。缓步于其...
    曦夏小妮子阅读 212评论 0 1