增加子节点
给主节点(192.168.10.100)增加子节点(192.168.99.102)
启动子节点
docker run -d --name cluster1-slave2 --net cluster --ip=192.168.10.102 --restart=always --privileged=true -v /home/cluster1/slave2/redis.conf:/etc/redis/redis.conf -v /home/cluster1/slave2/data:/data redis redis-server /etc/redis/redis.conf
添加至集群
在当前主节点执行的,其他节点还未验证
redis-cli --cluster add-node 192.168.10.102:6380 192.168.10.100:6380 --cluster-slave --cluster-master-id 1f8d37f1fd10710dcbcc9d500e0972624946a7eb
● add-node: 后面的分别跟着新加入的slave和slave对应的master
● cluster-slave:表示加入的是slave节点
● --cluster-master-id:表示slave对应的master的node ID
查看集群信息
减少子节点
下线子节点(192.168.99.102)
查看子节点id
cluster nodes
下线命令
redis-cli --cluster del-node 192.168.10.102:6380 0d4f5856d56ff8d5fb9d0d476936c3f3564cd8dd
增加主节点
增加主节点(192.168.10.130)
启动主节点
docker run -d --name cluster4-master --net cluster --ip=192.168.10.130 --restart=always --privileged=true -v /home/cluster4/master/redis.conf:/etc/redis/redis.conf -v /home/cluster4/master/data:/data redis redis-server /etc/redis/redis.conf
添加至集群
在当前主节点执行的,其他节点还未验证
redis-cli --cluster add-node 192.168.10.130:6380 192.168.10.100:6380
分配slot槽
节点加入了集群中,但是并没有分配slot
查看slot分配情况
redis-cli --cluster check 192.168.10.110:6380
分配slot
redis-cli --cluster reshard 192.168.10.110:6380 --cluster-from 1f8d37f1fd10710dcbcc9d500e0972624946a7eb,22ec40759ff457fbc682ed9b7bea65ddde0593ac,f07d4e1df54114b585f5bfaea9e983415fe45aa3 --cluster-to f3c9566a2b37fa3c372fcb2a44b3163095f6e3bc --cluster-slots 1024
减少主节点
下线主节点(192.168.10.130)
清空slot
redis-cli --cluster reshard 192.168.10.110:6380 --cluster-from f3c9566a2b37fa3c372fcb2a44b3163095f6e3bc --cluster-to 22ec40759ff457fbc682ed9b7bea65ddde0593ac --cluster-slots 1024 --cluster-yes
- --cluster-yes:不回显需要迁移的slot,直接迁移。
下线节点
redis-cli --cluster del-node 192.168.10.110:6380 f3c9566a2b37fa3c372fcb2a44b3163095f6e3bc