初次搭建Redis5.0集群,碰到了一系列的问题!!

一:Redis集群Waiting for the cluster to join 一直等待的问题 

仔细看前面 Waiting for the cluster to join 上面一句
>>> Sending CLUSTER MEET messages to join the cluster(发送群集会议消息以加入群集)

多台服务器,需要跑到其他服务器上做 192.168.1.29, redis-cli -c -p 700*  分别进入redis各节点的客户端命令窗口, 依次输入 cluster meet 192.168.1.12 7000……

如果以上方式行不通,则进行下一步操作

我们使用./redis-cli check 192.168.1.12:7000 检查是否有哪些异常!

可能会出现:[ERR] Not all 16384 slots are covered by nodes.

原因:

         这个往往是由于主node移除了,但是并没有移除node上面的slot,从而导致了slot总数没有达到16384,其实也就是slots分布不正确。所以在删除节点的时候一定要注意删除的是否是Master主节点。

官方是推荐使用redis-cli —cluster fix 来修复集群…. ….  通过 Performing Cluster Check (using node 192.168.1.12:7001) 看到7001这个节点被干掉了… 那么

[root@ewq src]#  ./redis-cli —cluster fix 192.168.1.12:7001

等待修复完成!!修复完成后,一直等待也就不会再让你等待了!!

二:报错:Node .. 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两个文件

初次搭建Redis5.0集群,碰到了一系列的问题!!_第1张图片

结果重新构建集群还是报上面的错误,于是我们需要将几个Redis数据库结点清空。

连接Redis数据库,执行命令

清除redis各节点数据:./redis-cli -c -h 192.168.199.92 -p 9001 ,用redis-cli登录到每个节点执行

flushallcluster reset

通过这些问题的出现以及一个个问题的寻找答案。最终,完成了Redis5.0版的集群搭建。

 

各位小伙伴,有什么不足的地方,欢迎底下留言,谢谢!

你可能感兴趣的:(Redis,Redis5.0集群,集群搭建,Redis5.0,高并发,spring,boot,Redis)