Dockerd搭建redis三主三从扩容缩容
admin
2024-02-15 08:27:14

Dockerd搭建redis三主三从

1.创建六个redis容器
docker run -d --name redis-node-1 --net host --privileged=true -v /data/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/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/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/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/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/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386
2.进入容器构建主从关系
docker exec -it redis-node-1 /bin/bash
redis-cli --cluster create 172.31.20.134:6381 172.31.20.134:6382 172.31.20.134:6383 172.31.20.134:6384 172.31.20.134:6385 172.31.20.134:6386 --cluster-replicas 1

–cluster-replicas 1 表示为每个master创建一个slave节点

3.查看集群状态
redis-cli -p 6381
CLUSTER info
CLUSTER NODES
redis-cli --cluster check 172.31.20.134:6381
4.集群连接
redis-cli -p 6381 -c

扩容

5.新建主机节点
docker run -d --name redis-node-7 --net host --privileged=true -v /data/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/share/redis-node-8:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6388
6.将新增节点加入集群
docker exec -it  redis-node-7 /bin/bash
redis-cli --cluster add-node 172.31.20.134:6387 172.31.20.134:6381

#172.31.20.134:6381 原集群的节点

7.重新分配槽号
redis-cli --cluster reshard 172.31.20.134:6381
4096
52a4a9f3f53eb2a18cd664fa9ecc8cca5e930d6c
all
yes

#(16384/4=4096四主)

8.为主节点6387分配从节点6388
redis-cli --cluster add-node 172.31.20.134:6388 172.31.20.134:6387 --cluster-slave --cluster-master-id 52a4a9f3f53eb2a18cd664fa9ecc8cca5e930d6c

#ip:新slave端口 ip:新master端口 --cluster-slave --cluster-master-id新主机节点ID
查看集群状态

缩容

9.从集群删除从节点6388
redis-cli --cluster del-node 172.31.20.134:6388 ba6051df75334ba3e64f79aae02d411ed4e2a9c5

#最后为从节点ID

10.将主节点6387槽号清空,重新分配,本例将清出来的槽号都给6381
redis-cli --cluster reshard 172.31.20.134:6381
a6fe7315c2e05396c9182de54e12afa0b323f934
#接收节点槽号ID
52a4a9f3f53eb2a18cd664fa9ecc8cca5e930d6c
#释放节点的槽号ID
done
yes
11.删除主节点6387
redis-cli --cluster del-node 172.31.20.134:6387 52a4a9f3f53eb2a18cd664fa9ecc8cca5e930d6c

##最后为主节点ID

知识来源于大佬zzyybs@126.com

相关内容

热门资讯

山水皆有情!丽江两山一江的千年... 去过丽江、走过虎跳峡的人,大概率都听过哈巴雪山和金沙江的传说。很多人站在峡谷之下,望着奔腾不息的金沙...
活力中国调研行丨“殷”你而来 ... 9月12日,游客在殷墟博物馆“甲骨文展厅”内参观。位于河南省安阳市的殷墟博物馆新馆是首个全景式展现商...
浦江之夜赴美好相逢,第37届上... 9月12日晚,黄浦江畔灯火璀璨,第37届上海旅游节大巡游在外滩中山东一路上演。不少观众早早便来到外滩...
美丽中国丨秋韵紫鹊界 梯田入画... 这是9月11日拍摄的紫鹊界梯田(无人机照片)。 金秋九月,湖南省娄底市新化县紫鹊界梯田稻谷渐次成熟。...
中国之巅奏响《共同的节日》,千... 千吨阻尼器,“迎世赛、游上海旅游节”。9月13日,由上海市文化和旅游局指导推出上海旅游·会客│巅峰之...