Redis|彻底解决([ERR] Node is not empty. Either the node already knows other nodes)

彻底解决:[ERR] Node is not empty. Either the node already knows other nodes ? 今天在搭建Redis-cluster的时候爆了这样的错误,根据中文意思就是说这个节点不是空的,想表达的意思就是说搭建集群的时候,大家数据要一致,需要都为空。这里用到的办法是将所有Node的数据都清空。
参考了网上一些方法后,发现在实操的时候是有一点问题的,做了点改进,但是思路还是一样的,
总体来说就两个步骤:

  • 第一步:删除 appendonly.aof 和 dump.rdb,具体路劲因人而异,你可以在你配置文件的目录看到
  • 第二部(第一步之后如果还不行再做):删除所有节点的cluster-config-file,也就是节点配置文件,自动生成的,路劲也配置在conf文件中
步骤如下:
  1. 将所有节点shutdown,为什么呢,不然你删除完A节点的AOF和RDB文件后,没过多久他自己又重新生成,(免去了 在redis-cli中执行 flushdb 命令),下面是代码示例:
    关闭节点
    redis-cli -h 192.168.43.155 -p 7001 shutdown

    进入到持久化文件所在目录,并将其删除
    (如果这个目录下还有其他文件就把 * 换成你要删除的文件的文件名)
    [root@esshop-cach02 init.d]# cd 目标目录 [root@esshop-cach02 7003]# rm -rf *

  2. 找到并删除cluster-config-file
    命令和上面一样,cd到目标路径之后再删文件,这里就不贴重复代码了
    ?
【Redis|彻底解决([ERR] Node is not empty. Either the node already knows other nodes)】?

    推荐阅读