遇到的问题及解决办法
在redis.conf里bind 真机ip后,接着重新执行每个redis.conf,最后再创建集群,但报错,如下图所示:
图中报的错即:
[ERR] Node 192.168.161.131:7000 is not empty. Either the node
already knows other nodes (check with CLUSTER NODES) or contains some
key in database 0.
这就奇怪了,于是我又去检查了一下redis.conf,ip我确实改过来了
想了一会发现这三个文件appendonly.aof dump.rdb nodes.conf是之前执行ip127.0.0.1时生成的,在我改为真机ip后在执行并没有生效。
这里解释一下dump.rdb文件:
dump.rdb是由Redis服务器自动生成的 默认情况下
每隔一段时间redis服务器程序会自动对数据库做一次遍历,把内存快照写在一个叫做“dump.rdb”的文件里,这个持久化机制叫做SNAPSHOT。有了SNAPSHOT后,如果服务器宕机,重新启动redis服务器程序时redis会自动加载dump.rdb,将数据库状态恢复到上一次做SNAPSHOT时的状态。
知道原因后就好办了,解决办法:
1)将每个节点下aof、rdb、nodes.conf本地备份文件删除;
2)172.168.63.201:7001> flushdb #清空当前数据库(可省略)
3)之后再执行脚本,成功执行;