本实验将练习三主三从的Redis的docker集群快速搭建,实现集群的动态扩容和缩容,主从切换等常见实践项目。
docker pull redis:6.0.8
docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381
docker run -d --name redis-node-2 --net host --privileged=true -v /data/redis/share/redis-node-2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382
docker run -d --name redis-node-3 --net host --privileged=true -v /data/redis/share/redis-node-3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383
docker run -d --name redis-node-4 --net host --privileged=true -v /data/redis/share/redis-node-4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384
docker run -d --name redis-node-5 --net host --privileged=true -v /data/redis/share/redis-node-5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385
docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386

#连接redis
redis-cli -p 6381
#创建集群 --cluster-replicas 1从服务器为1
redis-cli --cluster create 192.168.0.4:6381 192.168.0.4:6382 192.168.0.4:6383 192.168.0.4:6384 192.168.0.4:6385 192.168.0.4:6386 --cluster-replicas 1
#获取集群信息
CLUSTER INFO
#获取集群主从信息
CLUSTER NODES
#获取集群详细信息
redis-cli --cluster check 192.168.0.4:6381



停止主服务器,从服务器自动替换主服务器功能


扩容的服务器加入集群之后,需要重新对插槽进行重分
#作为主节点加入集群
redis-cli --cluster add-node 192.168.0.4:6387 192.168.0.4:6381
#添加从机到集群
redis-cli --cluster add-node 192.168.0.4:6388 192.168.0.4:6387 --cluster-slave --cluster-master-id d32aa949d5fc5de02987df6cc4416576efa61ed5
redis-cli --cluster check 192.168.0.4:6381
#连接
redis-cli --cluster check 192.168.0.4:6381

redis-cli --cluster del-node 192.168.0.4:6388 81b8e37c6b0b94f1ba8ffab15b05e2a52e4300b1
#先将插槽分配到其他服务器
redis-cli --cluster reshard 192.168.0.4:6381

输入done,开始分配
