• Docker下搭建Redis分片集群


    分片集群结构

    同一台虚拟机中开启6个redis实例,模拟分片集群 

    IP PORT角色
    192.168.19.1287001master
    192.168.19.1287002master
    192.168.19.1287003master
    192.168.19.1288001slave
    192.168.19.1288002slave
    192.168.19.1288003slave

    搭建Redis分片集群 

    创建实例目录

    1. # 进入/tmp目录
    2. cd /tmp
    3. # 创建目录
    4. mkdir 7001 7002 7003 8001 8002 8003

     启动docker

    systemctl start docker

    创建6个容器redis实例 

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

    进入容器,随便一个容器

    docker exec -it redis-7001 bash

    构建主从关系,执行一次

    redis-cli --cluster create --cluster-replicas 1 192.168.19.128:7001 192.168.19.128:7002 192.168.19.128:7003 192.168.19.128:8001 192.168.19.128:8002 192.168.19.128:8003
    • redis-cli --cluster:代表集群操作命令
    • create:代表是创建集群
    • replicas 1或者--cluster-replicas 1 :指定集群中每个master的副本个数为1,此时节点总数 ÷ (replicas + 1) 得到的就是master的数量。因此节点列表中的前n个就是master,其它节点都是slave节点,随机分配到不同master将这个文件拷贝到每个目录下 

    执行过程提示输入yes:Can I set the above configuration? (type 'yes' to accept): yes

    通过命令可以查看集群状态

    redis-cli -p 7001 cluster nodes


    至此集群创建成功

    Redis添加和删除节点:Docker下Redis集群伸缩_呆萌很的博客-CSDN博客

  • 相关阅读:
    并发编程之生产者消费者模型
    代码随想录训练营第25天|LeetCode 216.组合总和III、17.电话号码的字母组合
    数字未来:探索 Web3 的革命性潜力
    牛客day 8
    [附源码]计算机毕业设计网上鲜花购物系统Springboot程序
    做产品经理需要很高的学历吗?真相来咯!
    欧美市场独立站选品技巧
    Facebook注册失败?速看最新注册指南
    遗传算法GA求解TSP问题
    ESP8266-Arduino编程实例-MS5611气压传感器驱动
  • 原文地址:https://blog.csdn.net/qq_29385297/article/details/126794144