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

使用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

 注意:101为主节点,102/103为从节点

二、主从模式优缺点(Master-Slave)

‌优点‌:

  • ‌读写分离‌:从节点分担读请求,提升读取性能
  • ‌数据冗余‌:从节点备份主节点数据,提高可靠性
  • ‌配置简单‌:部署和维护成本低
  • ‌缺点‌:

  • ‌单点故障‌:主节点宕机需手动切换,服务中断时间长
  • ‌写瓶颈‌:所有写操作集中在主节点
  • ‌同步延迟‌:从节点数据可能滞后
  • ‌适用场景‌:

    • 读多写少的应用(如缓存、日志系统)
    • 对高可用性要求不高的场景

    ‌三、主节点配置(101)‌

    1. 在/home/redis 目录下新增master.conf配置文件,且内容如下:

     

    #master.conf文件
    bind 0.0.0.0 #设置所有服务器均可访问
    port 6379 #默认端口
    requirepass 123456 #主节点的密码
    masterauth 123456 #从节点连接主节点时需要配置的密码

    2. 在/home/redis 目录下新增create_redis_master.sh脚本,用于创建redis容器,内容如下:

    #create_redis_master.sh文件
    docker run -d –restart=always –name redis-master \\
    -p 6379:6379 –privileged=true \\
    -v /home/redis/master.conf:/redis.conf \\
    -v /home/redis/data:/data \\
    redis:6.0.8 redis-server /redis.conf

     3. 创建数据目录并执行 create_redis_master.sh 创建脚本

    #创建主节点的数据存储目录
    mkdir -p /home/redis/data
    #执行创建脚本
    sh create_redis_master.sh

    4. 验证

    #查看容器状态
    docker ps

     执行上述命令,若出现下图所示内容表示启动成功,即 STATUS的值是UP xxx 

    四、从节点配置(102/103)‌

    说明:这里以102 节点为例,103节点所需操作与102节点完全一样,这里不再赘述

    1. 在/home/redis 目录下新增slave.conf配置文件,且内容如下:

    #slave.conf文件
    bind 0.0.0.0 #设置所有服务器均可访问
    port 6379 #默认端口
    requirepass 123456 #当前从节点的密码
    masterauth 123456 #当前从节点连接主节点时需要配置的密码
    replicaof 192.168.100.101 6379 #重要,必须配置该项,设置从哪个节点拷贝数据,这里是master节点
    replica-read-only yes #重要,设置为只读,即102/103两个从节点只能读取数据,不能写入数据,只能从master节点写入数据

    2. 在/home/redis 目录下新增create_redis_slave.sh脚本,用于创建redis容器,内容如下:

    #create_redis_slave.sh文件
    docker run -d –restart=always –name redis-slave \\
    -p 6379:6379 –privileged=true \\
    -v /home/redis/slave.conf:/redis.conf \\
    -v /home/redis/data:/data \\
    redis:6.0.8 redis-server /redis.conf

    3. 创建数据目录并执行 create_redis_slave.sh 创建脚本 

    #创建从节点的数据存储目录
    mkdir -p /home/redis/data
    #执行创建脚本
    sh create_redis_slave.sh

    4. 验证

    #查看容器状态
    docker ps

    (1)执行上述命令,若出现下图所示内容表示启动成功,即 STATUS的值是UP xxx  

    (2)进入从节点容器中,并执行查看redis的复制策略

    #进入从节点的容器中
    docker exec -it redis-slave /bin/bash

    #查看从节点和主节点的复制策略
    redis-cli -a 123456 info replication

    出现如下信息,表示从节点搭建完成:

    说明:在从节点执行 redis-cli info replication,查看 role:slave 和 master_link_status:up,则表示从节点已经可以正常从主节点同步数据了 

    五、验证整个主从模式状态

    在101主节点的容器中执行info命令,查看集群状态

    #在主节点101上执行如下命令,进入容器内部
    docker exec -it redis-master /bin/bash
    #查看主节点的主从状态
    redis-cli -a 123456 info replication

    出现如下信息,表示集群搭建成功:

    到这里,redis的一主两从模式就搭建完成了,喜欢的小伙伴留下个赞再走吧~~

     

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 使用docker在3台服务器上搭建基于版本redis 6.x的一主两从模式
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!