云计算百科
云计算领域专业知识百科平台

使用docker在3台服务器上搭建redis 6.x三主三从集群

注意:每台服务器搭建一主一从节点

一、环境及版本说明

如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装:

        1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看

        2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看

说明:假设每台服务器已经安装好了Docker软件,并且redis集群的安装目录在/home/redis下面

环境及版本

操作系统IP操作系统版本docker版本redis版本
Linux 192.168.100.101 CentOS7.6(1810) 18.09.9 6.0.8
Linux 192.168.100.102 CentOS7.6(1810) 18.09.9 6.0.8
Linux 192.168.100.103 CentOS7.6(1810) 18.09.9 6.0.8

二、集群模式的优缺点

优点‌:

  • ‌数据分片‌:支持横向扩展,突破单机内存限制
  • ‌高可用性‌:节点故障自动迁移数据
  • ‌负载均衡‌:数据均匀分布,避免单点压力
  • ‌缺点‌:

  • ‌部署复杂‌:需规划分片策略和节点管理
  • ‌事务限制‌:跨槽命令不支持
  • ‌运维成本高‌:需监控多个分片
  • ‌适用场景‌:

    • 大数据量、高并发场景(如社交平台热点数据)
    • 需要线性扩展能力的业务

    三、配置文件

    说明:三台服务器redis集群的配置文件都是下面这个redis.conf文件

    1. 到工作目录下面新建redis.conf文件并添加以下内容:

    #到工作目录下面
    cd /home/redis

    #创建redis.conf文件
    vim redis.conf

     2. redis.conf中被添加的内容如下: 

    cluster-enabled yes #开启集群配置
    cluster-config-file nodes.conf #设置集群配置文件名称为nodes.conf
    cluster-node-timeout 5000 #集群连接超时时间
    requirepass 123456 #当前节点的密码,为了防止混淆,建议两个密码设置成一样
    masterauth 123456 #主节点的密码,为了防止混淆,建议两个密码设置成一样

    四、启动脚本

    说明:三台服务器redis集群的启动脚本都是下面这个create_redis_cluster.sh文件,并且需要在三台服务器上均执行一次该脚本

    1. 首先创建redis的数据目录和启动文件

    #切换到redis的工作目录下
    cd /home/redis

    #创建集群的数据目录
    mkdir data

    #进入数据目录
    cd data

    #创建端口号是6379的主节点的数据目录
    mkdir redis6379

    #创建端口号是6380的从节点的数据目录
    mkdir redis6380

    #创建redis集群的docker容器启动脚本
    vim create_redis_cluster.sh

     2. create_redis_cluster.sh文件中被添加的内容如下:

    #这是启动主节点的脚本
    docker run -d –restart=always –name redis6379 \\
    -p 6379:6379 -p 16379:16379 –privileged=true \\
    -v /home/redis/redis.conf:/redis.conf \\
    -v /home/redis/data/redis6379:/data \\
    redis:6.0.8 redis-server /redis.conf

    #这是启动从节点的脚本
    docker run -d –restart=always –name redis6380 \\
    -p 6380:6379 -p 16380:16379 –privileged=true \\
    -v /home/redis/redis.conf:/redis.conf \\
    -v /home/redis/data/redis6380:/data \\
    redis:6.0.8 redis-server /redis.conf

    3. 执行create_redis_cluster.sh 

    提示:三台服务器均需执行如下命令

    #在该文件所在目录,执行如下命令
    sh create_redis_cluster.sh

    4. 执行后会创建2个redis容器,输入docker ps 查看容器状态,若出现下图情形,则表示正常。 

    5. 进入任意一台服务器的6379端口的redis主节点容器中

    当前以我上图中容器名称为:redis6379 的容器为例:

    #进入容器中
    docker exec -it redis6379 /bin/bash

    #在容器中任意目录下输入创建集群的命令
    redis-cli –cluster create 192.168.100.101:6379 192.168.100.101:6380 192.168.100.102:6379 192.168.100.102:6380 192.168.100.103:6379 192.168.100.103:6380 –cluster-replicas 1 -a 123456

    命令解释: -a 123456 这里的123456就是集群中各个节点的密码

    执行后,看到如下所示表示集群创建完成。

    五、测试

    到任意服务器的任意节点上,进入容器中并且输入如下指令:

    #登录到集群环境中,会提示已经重定向到主节点上 123456 是集群的密码
    redis-cli -c -p 6379 -a 123456

    #查看集群信息
    cluster info

    执行上述命令后,将会如下图所示:

    至此就大功告成了~~ 

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 使用docker在3台服务器上搭建redis 6.x三主三从集群
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!