systemctl start docker
docker run -d --name redis-node-1 --net host --privileged=true -v /home/yourfriend/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 /home/yourfriend/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 /home/yourfriend/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 /home/yourfriend/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 /home/yourfriend/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 /home/yourfriend/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386
docker exec -it redis-node-1 bash
redis-cli --cluster create 192.168.75.131:6381 192.168.75.131:6382 192.168.75.131:6383 192.168.75.131:6384 192.168.75.131:6385 192.168.75.131:6386 --cluster-replicas 1
yes
redis-cli -p 6381
cluster info
cluster nodes
主从容错切换迁移
redis-cli -p 6381 -c
set k1 v1
set k2 v2
set k3 v3
exit
redis-cli --cluster check 192.168.75.131:6381
docker stop redis-node-1
docker exec -it redis-node-2 bash
redis-cli -p 6382 -c
cluster nodes
docker start redis-node-1
redis-cli --cluster check 192.168.75.131:6381
docker stop redis-node-5
docker start redis-node-5
redis-cli --cluster check 192.168.75.131:6381
主从扩容
docker run -d --name redis-node-7 --net host --privileged=true -v /home/yourfriend/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 /home/yourfriend/redis/share/redis-node-8:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6388
docker ps
docker exec -it redis-node-7 bash
redis-cli --cluster add-node 192.168.75.131:6387 192.168.75.131:6381
redis-cli --cluster check 192.168.75.131:6381
redis-cli --cluster reshard 192.168.75.131:6381
节点id
all
16384/master台数
redis-cli --cluster check 192.168.75.131:6381
redis-cli --cluster add-node ip:新slave端口 ip:新master端口 --cluster-slave --cluster-master-id 新主机节点ID
redis-cli --cluster add-node 192.168.75.131:6388 192.168.75.131:6387 --cluster-slave --cluster-master-id e4781f644d4a4e4d4b4d107157b9ba8144631451-------这个是6387的编号
redis-cli --cluster check 192.168.75.131:6381
主从缩容
redis-cli --cluster check 192.168.75.131:6382
命令:redis-cli --cluster del-node ip:从机端口 从机6388节点ID
redis-cli --cluster del-node 192.168.75.131:6388 5d149074b7e57b802287d1797a874ed7a1a284a8
redis-cli --cluster reshard 192.168.75.131:6381
要删主节点的槽数(可以不是全部)
接手的主节点id
删除的主节点id
done
redis-cli --cluster check 192.168.75.131:6382
命令:redis-cli --cluster del-node ip:端口 6387节点ID
redis-cli --cluster del-node 192.168.75.131:6387 e4781f644d4a4e4d4b4d107157b9ba8144631451
redis-cli --cluster check 192.168.75.131:6382