Redis集群伸缩是在已经搭建完成的Redis集群中进行,对集群进行添加和删除实例。
Redis分片集群搭建:Docker下搭建Redis分片集群_呆萌很的博客-CSDN博客
创建一个文件夹
mkdir 7004
启动redis实例
docker run -d --name redis-7004 --net host --privileged=true -v /tmp/7004:/data redis:latest --cluster-enabled yes --appendonly yes --port 7004
添加作为master节点
- #add-node new_host:new_port existing_host:existing_port
- redis-cli --cluster add-node 192.168.19.128:7004 192.168.19.128:7001
一个节点添加到集群里,第一个参数为新节点的ip:port,第二个参数为集群中任意一个已经存在的节点的ip:port
redis-cli -p 7001 cluster nodes

新增节点成功,但是缺少插槽。
redis-cli --cluster reshard 192.168.19.128:7001

输入转移的插槽数量,如:3000

输入接收的ID,ID可以在上面查询节点中找到 如:10911498af7d9e6d5a0024b1b66e9e1b60e89a1e

输入插槽来源的节点,如:a4657cc0798026a3cf5009aa6035c0a0e8c8a661

最后输入done,确认开始转移。

删除节点需要把该节点中的所有插槽转移到别的节点中,按照上面步骤操作。
查询想要删除节点的ID
redis-cli -p 7001 cluster nodes
- # del-node host:port node_id
- redis-cli --cluster del-node 192.168.19.128:7001 node_id
至此redis集群伸缩,添加和删除节点成功。