redis集群中手动关闭一个节点后再重新添加进集群中

redis集群中手动kill其中一个redis,再次查询集群节点如下图,显示有一个redis不可用

redis集群中手动关闭一个节点后再重新添加进集群中

将kill掉的redis端口3000重新启动,登录其客户端随便set一个值如果提示

(error) CLUSTERDOWN Hash slot not served :没有分配槽

解决办法,进入redis/src目录,执行如下操作

redis-cli --cluster fix 192.168.220.110:3000

使用forget,去除上图noaddr这个节点(因为是6个节点,所以需要开五个窗口挨个执行cluster forget命令)

 cluster forget 414284ef34d5b801be1b455f54de4b179c6cd7ac

再将该重启的redis作为从节点添到集群中(主节点挂了原本的从节点会变成主节点),保证三主三从

redis-cli -a 9790 --cluster add-node 192.168.220.110:3000 192.168.220.111:3006 --cluster-slave --cluster-master-id 04d4b491f3e302ef1308d5ba850a50d6a315761b
添加成功后,再次查询集群节点,可以看到集群又回到了三主三从的状态

redis集群中手动关闭一个节点后再重新添加进集群中

后话:因为是第一次搭建redis集群,手动挂断其中一个节点模拟实际宕机再恢复这个宕机的节点,结果百度了一段时间都没百度到关键方法,后面看几篇博客总结出来的办法,这里给自己做个总结,博客写的不怎么好,不喜勿喷

参考博客链接:

https://blog.****.net/u010235716/article/details/99645657

http://blog.itpub.net/31447263/viewspace-2640456/