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

相关内容

热门资讯

同样卖奶茶,为何古茗赚了15亿... 出品/联商专栏 撰文/老刀 编辑/蔡建桢 今年上半年,蜜雪、古茗、霸王茶姬、茶百道、沪上阿姨全部盈利...
现烤散装走俏、新口味亮相、健康... 中秋佳节临近,成都月饼市场已全面开启“上新季”。记者连日来走访成都多家商超看到,月饼专区占据卖场核心...
散装月饼靠性价比当上“人气王” 华润超市货架上的散装月饼。 深圳报业集团记者 欧阳莹 摄 深圳晚报讯 (深圳报业集团记者 欧阳莹) ...
原创 9... 九月初秋,燥气渐起,容易咽喉干痒、口鼻缺水、干咳烦闷。多喝清润汤水,滋养肺阴,补足身体津液,不寒不腻...
原创 生... 山药是秋季深藏不露的养生食材,也是为数不多 生用补肾、熟用健脾 的平价好物。生山药滋阴补肾、固护肾精...