• 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,开始分配
    在这里插入图片描述

  • 相关阅读:
    IDEA 2023.2.2 使用 Scala 编译报错 No scalac found to compile scala sources
    Markdown语法手册(基础使用)
    痞子衡嵌入式:大话双核i.MXRT1170之单独在线调试从核工程的方法(IAR篇)
    Python Flask框架-开发简单博客-定义和操作数据库
    Spring框架概述以及入门案例
    Java计算机毕业设计电商后台管理系统源码+系统+数据库+lw文档
    WebFlux+SSE流式传输
    Kubernetes 的有状态和无状态服务
    awk5个使用场景
    大厂秋招真题【模拟】阿里蚂蚁20231010秋招T2-奇偶操作
  • 原文地址:https://blog.csdn.net/weixin_73368873/article/details/128055925