主从扩容案例
新建两个节点
docker run -d --name redis-node-7 --net host --privileged=true -v /data/redis/share/redis-node-7:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6387
docker run -d --name redis-node-8 --net host --privileged=true -v /data/redis/share/redis-node-8:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6388
进入6387容器实例,新增6387作为master节点
docker exec -it redis-node-7 bash
redis-cli --cluster add-node 192.168.2.128:6387 192.168.2.128:6381
#查询集群情况
redis-cli --cluster check 192.168.2.128:6381
重新分配槽位
redis-cli --cluster reshard 192.168.2.128:6381
reshard #重新分配哈希值
#注意重新分配槽位时
How many slots do you want to move (from 1 to 16384)? 4096 #16384/4(主机数)
What is the receiving node ID? (节点容器ID)
Source node #1: all#(槽位全部分配)
自动分槽
redis-cli --cluster rebalance --cluster-threshold 1 --cluster-use-empty-masters 192.168.2.141:6381
再次查看集群情况
redis-cli --cluster check IP:端口号
#槽位从旧节点各自匀出槽位,重新分配成本高
为主节点6387分配从节点6388
redis-cli --cluster add-node ip:新salve端口 ip:新master端口 --cluster-slave --cluster-master-id 新主机节点ID
第三次查看集群情况
redis-cli --cluster check IP:端口号
发现集群变成四主四从,集群扩容成功