Skip to content

docker 部署redis集群

bash
redis 集群 3主3从-docker
--------------------node1
docker run -d --name redis-node-1 --net host --privileged=true \
-v /data/redis/share/redis-node-1:/data redis:7.0.0 \
--cluster-enabled yes --appendonly yes --port 6381
--------------------node2......node6
...
docker run -d --name redis-node-2 --net host --privileged=true \
-v /data/redis/share/redis-node-2:/data redis:7.0.0 \
--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:7.0.0 \
--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:7.0.0 \
--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:7.0.0 \
--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:7.0.0 \
--cluster-enabled yes --appendonly yes --port 6386
构建主从关系
redis-cli --cluster create 192.168.152.132:6381 192.168.152.132:6382 192.168.152.132:6383 \
192.168.152.132:6384 192.168.152.132:6385 192.168.152.132:6386 --cluster-replicas 1
添加集群
docker run -d --name redis-node-7 --net host --privileged=true \
-v /data/redis/share/redis-node-7:/data redis:7.0.0 \
--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:7.0.0 \
--cluster-enabled yes --appendonly yes --port 6388

--------------
redis-cli --cluster add-node 192.168.152.132:6387 192.168.152.132:6381

redis-cli --cluster check 192.168.152.132:6381

redis-cli --cluster reshard 192.168.152.132:6381
分配从节点
redis-cli --cluster add-node 192.168.152.132:6388 192.168.152.132:6387 \
--cluster-slave --cluster-master-id c09b72aabb338f1716c5c089592be51700e72c66

恢复3主3从
删除从节点
redis-cli --cluster del-node 192.168.152.132:6388  a2b6a1c4c7e3a75e97bbb685dfe644f079fda423
redis-cli --cluster reshard 192.168.152.132:6381
删除删除主节点
redis-cli --cluster del-node 192.168.152.132:6387 c09b72aabb338f1716c5c089592be51700e72c66