docker部署redis集群 删除节点(缩容)

上篇博文完成了redis集群的搭建:点这里

以及redis集群的添加节点 即扩容:点这里

本篇博文写一下怎样在redis集群中删除节点(还是在之前博文的基础上),博文中的111.111.111.111均换成实际IP使用

删除从节点

我这里想要把上次扩容添加的一主一从节点删掉,首先把从节点6378删掉

docker exec进入容器6377,使用check命令查看集群情况

docker exec -it redis-node7 /bin/bash
redis-cli --cluster check 111.111.111.111:6371

docker部署redis集群 删除节点(缩容)_第1张图片

拿到红框位置的6378节点id(用你实际的id),然后执行删除从节点命令

redis-cli --cluster del-node 111.111.111.111:6378 2ee73af85faf7708061ab4ffdb80a2845257ab5a

删除成功后再使用check命令查看集群情况会发现已经没有6378这个从节点了

重新分配槽位

redis-cli --cluster reshard 111.111.111.111:6371

这里还是输入16384除以4得到的4096

docker部署redis集群 删除节点(缩容)_第2张图片

下一个问题是谁来接收这些槽位,这里我就直接把这些槽位都分配给6374主节点了(我这里6374是主节点,你那里可能6374是从节点,看清楚再操作) ,所以输入6374主节点的ID

docker部署redis集群 删除节点(缩容)_第3张图片

然后又问你删除哪个节点,这里输入6377节点的ID,回车后输入#2输入done再回车结束

分配过程中再次询问是否继续,输入yes回车,等分配完成。

这里就已经把6377节点的所有槽位都分给了6374主节点,再次使用check命令查看集群情况

可以看到还是四个主节点,但是6377主节点已经没有槽位了

docker部署redis集群 删除节点(缩容)_第4张图片

删除6387主节点

redis-cli --cluster del-node 111.111.111.111:6377 fdb615eb6c86ec8246739112b6cc89679b37f58b

再次查看集群情况,已经变成了三主三从

docker部署redis集群 删除节点(缩容)_第5张图片

你可能感兴趣的:(docker,redis,docker,redis集群)