redis主从搭配

创建redis的挂载目录

在/usr/local/software下创建redis目录

在redis目录下创建对应3个redis服务器的目录,以端口号命名: 6379,6380,6381

在每个文件夹下都创建data, conf, 和logs文件夹。

  • conf:存储redis配置文件

  • logs: 存储redis日志文件

#以下命令在/usr/local/software/redis 目录下执行
​
mkdir -p 6379/conf 6379/data 6379/logs
mkdir -p 6380/conf 6380/data 6380/logs
mkdir -p 6381/conf 6381/data 6381/logs
​
#创建对应日志文件 并修改为777权限
touch 6379/logs/redis_6379.log
touch 6380/logs/redis_6380.log
touch 6381/logs/redis_6381.log
​
chmod 777 6379/logs/redis_6379.log 
chmod 777 6380/logs/redis_6380.log 
chmod 777 6381/logs/redis_6381.log
​

上传配置文件并修改

==把网上的的配置文件到每个conf目录下==

  1. 6379作为主服务器,修改其配置

    # 修改75行为
    bind 0.0.0.0
    ​
    #修改94行为
    protected-mode no
    ​
    #修改304行 日志存放位置
    logfile "/var/log/redis/redis_6379.log"
  2. 6380、6381作为从服务器,修改配置

    #6380依次修改
    bind 0.0.0.0
    protected-mode no
    logfile "/var/log/redis/redis_6380.log"
    #1254行,开启AOF持久化
    appendonly yes
    ​
    #6381依次修改
    bind 0.0.0.0
    protected-mode no
    logfile "/var/log/redis/redis_6381.log"
    #1254行
    appendonly yes

创建主从容器

==删除以前创建的容器==

创建主服务器容器

docker run -itd --name redis_6379 --privileged=true  -v /usr/local/software/redis/6379/conf/redis_6379.conf:/usr/local/etc/redis/redis.conf -v /usr/local/software/redis/6379/data/:/data -v /usr/local/software/redis/6379/logs/redis_6379.log:/var/log/redis/redis_6379.log -p 6379:6379 --restart=always  redis /usr/local/etc/redis/redis.conf

创建成功后,检查容器是否允许,是否能正常进入redis

docker ps
​
docker exec -it redis_6379 bash
​
redis-cli
​
ping
​
​
#如果容器没有启动可以检查日志,看看问题
docker logs redis_6379

创建从服务器容器并配置

  1. 查主服务的容器ip地址

    docker inspect redis_6379| grep IPA
  2. 修改从服务器挂载的配置文件

    末尾添加主从配置

    # 以下命令在/usr/local/software/redis 目录下执行
    vim  6380/conf/redis_6380.conf
    vim  6381/conf/redis_6381.conf
    ​
    #配置文件中末尾添加配置
    slave-read-only no
    #主服务器容器的ip 端口
    replicaof 172.17.0.4 6379
  1. 创建6380、6381的容器

docker run -itd --name redis_6380 --privileged=true  -v /usr/local/software/redis/6380/conf/redis_6380.conf:/usr/local/etc/redis/redis.conf -v /usr/local/software/redis/6380/data/:/data -v /usr/local/software/redis/6380/logs/redis_6380.log:/var/log/redis/redis_6380.log -p 6380:6379 --restart=always redis /usr/local/etc/redis/redis.conf
​
docker run -itd --name redis_6381 --privileged=true  -v /usr/local/software/redis/6381/conf/redis_6381.conf:/usr/local/etc/redis/redis.conf -v /usr/local/software/redis/6381/data/:/data -v /usr/local/software/redis/6381/logs/redis_6381.log:/var/log/redis/redis_6381.log -p 6381:6379 --restart=always  redis /usr/local/etc/redis/redis.conf
  1. 查看主从设置是否生效

    进入每个redis服务中查看

    docker exec -it 容器名 bash
    ​
    redis-cli
    ​
    info replication

以上是正常流程,我这遇到一些小问题

搭建第二个从服务器的时候,没挂载上主服务器

经过多方询问,原因是6381的配置文件有点小问题

解决方案如上

此时再进入主服务器6379

 

 到此redis主从服务器搭建就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值