redis集群报错Node is not empty,Either the node already knows other nodes
redis通过redis-trib.rb create –replicas命令创建集群时报一下异常:
ERR] Node 172.**.**.**:6379 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
常见执行命令如下:
[sercom@smscappsvr02 bin]$ ./redis-trib.rb create 10.161.1.150:6379 10.161.1.149:6379 10.161.1.154 >>> Creating cluster [ERR] Node 10.161.1.149:6379 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
导致异常的主要原因是该节点中默认生成的配置或历史存储数据不一致导致的,清除对应节点的dump.rdb、nodes.conf文件,重启之后即可。
dump.rdb是由Redis服务器自动生成的 默认情况下 每隔一段时间redis服务器程序会自动对数据库做一次遍历,把内存快照写在一个叫做“dump.rdb”的文件里,这个持久化机制叫做SNAPSHOT。有了SNAPSHOT后,如果服务器宕机,重新启动redis服务器程序时redis会自动加载dump.rdb,将数据库状态恢复到上一次做SNAPSHOT时的状态。
解决步骤:
1、停止服务,删除aof/rdb文件;
2、删除nodes.conf
3、必要的情况下执行flushdb。
原文链接:《REDIS集群报错NODE IS NOT EMPTY,EITHER THE NODE ALREADY KNOWS OTHER NODES》
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:https://choupangxia.com/2019/11/07/redis-node-is-not-empty/