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


    实战

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

    拉取镜像

    docker pull redis:6.0.8
    
    • 1

    搭建主从

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    字段描述

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

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

    主从切换

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

    扩容

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

    #作为主节点加入集群
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    服务器下线

    从集群删除从服务器

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

    去除主服务器

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

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

  • 相关阅读:
    【电力系统】基于粒子群算法优化电力系统潮流计算附matlab代码
    vue组件间的通讯方式
    【学习笔记】[ARC145F] Modulo Sum of Increasing Sequences
    Vulhub 靶场使用
    OpenWRT篇——篇:Ubox——list.h
    [附源码]计算机毕业设计文具商城购物系统Springboot程序
    npm配置taobao镜像及nrm快速换源工具介绍
    MySQL添加、查看、修改与删除数据
    【反射】Field类
    JavaScript 数值 Number
  • 原文地址:https://blog.csdn.net/weixin_73368873/article/details/128055925