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

相关内容

热门资讯

原创 5... 要知道,5月27日赵子豪在上海迪士尼的照片和短文在社交平台上被不少人热聊,他背着树懒卡通包,还配了句...
沉浸式露营体验!长春这家河畔休... 露营,作为一种亲近自然、放松身心的休闲方式,越来越受到人们的喜爱。然而,传统的露营需要准备大量的装备...
杭州龙井的茶,飘了旧香 杭州龙井寻香记 一、风里飘来的旧香 暮春的杭州总裹着一层湿润的绿,我原本只是趁着清明后的假期来散心,...
屡摘金奖!这个村的好茶凭啥出圈... 在刚结束不久的 第十五届四川国际茶业博览会上 平昌县邱家镇回龙村 三款茶叶揽获“金奖茶叶” 屡摘国际...
温哥华两家餐厅 被评选为北美最... 奖项接踵而至,温哥华也再次赢得了关注。这次,温哥华的两家餐厅被评选为北美最顶尖的餐厅之一,此外,惠斯...