Docker实战之Redis主从集群搭建实战

实战

本实验将练习三主三从的Redis的docker集群快速搭建,实现集群的动态扩容和缩容,主从切换等常见实践项目。

拉取镜像

docker pull redis:6.0.8

搭建主从

docker run -d --name redis-node-1 --net host --privileged=true -v /data/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 /data/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 /data/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 /data/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 /data/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 /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386

在这里插入图片描述

字段描述

  1. docker run 创建并运行docker容器实例
  2. –name redis-node-6 容器名字
  3. –net host 使用宿主机的IP和端口,默认
  4. –privileged=true 获取宿主机root用户权限
  5. -v /data/redis/share/redis-node-6:/data 容器卷,宿主机地址:docker内部地址
  6. redis:6.0.8 redis镜像和版本号
  7. –cluster-enabled yes 开启redis集群
  8. –appendonly yes 开启持久化
  9. –port 6386 redis端口号

集群信息查看

#连接redis
redis-cli -p 6381
#创建集群     --cluster-replicas 1从服务器为1
redis-cli --cluster create 192.168.0.4:6381 192.168.0.4:6382 192.168.0.4:6383 192.168.0.4:6384 192.168.0.4:6385 192.168.0.4:6386 --cluster-replicas 1
#获取集群信息
CLUSTER INFO
#获取集群主从信息
CLUSTER NODES
#获取集群详细信息
redis-cli --cluster check 192.168.0.4:6381

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

主从切换

停止主服务器,从服务器自动替换主服务器功能
在这里插入图片描述
在这里插入图片描述

扩容

扩容的服务器加入集群之后,需要重新对插槽进行重分

#作为主节点加入集群
redis-cli --cluster add-node 192.168.0.4:6387 192.168.0.4:6381
#添加从机到集群
redis-cli --cluster add-node 192.168.0.4:6388 192.168.0.4:6387 --cluster-slave --cluster-master-id d32aa949d5fc5de02987df6cc4416576efa61ed5
redis-cli --cluster check 192.168.0.4:6381
#连接
redis-cli --cluster check 192.168.0.4:6381

在这里插入图片描述

服务器下线

从集群删除从服务器

redis-cli --cluster del-node 192.168.0.4:6388 81b8e37c6b0b94f1ba8ffab15b05e2a52e4300b1

去除主服务器

#先将插槽分配到其他服务器
redis-cli --cluster reshard 192.168.0.4:6381

在这里插入图片描述
输入done,开始分配
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值