zoukankan      html  css  js  c++  java
  • 在Docker中进行Redis主从配置

    〇、环境准备

      1.两台装好Docker的计算机(或两个虚拟机)

        我这里是在VMware中运行的两个Centos7系统

        我们把CentOS-64-0作为主机(Master),CentOS-64-1作为从机(Slave)

        

      2.安装redis

        在docker中安装redis(只把redis pull下来,不要进一步配置)

        

    一、在docker中使用外部 redis的配置文件

      1.配置文件redis.conf

        首先在你的两台宿主机上编写好redis配置文件,即redis.conf

        可以从redis官网下载配置文件模板 在Centos7系统中,使用以下命令,下载到本地:

        wget http://download.redis.io/redis-stable/redis.conf -O <文件名>

        

      2.配置参数

        主机(Master)修改下载下来的redis.conf,主要修改参数如下:

    #bind 127.0.0.1        #如果bind选项为空的话,则允许所有来自于可用网络接口的连接
    protected-mode no      #保护模式,若为yes,只允许本地客户端连接
    appendonly yes         #开启后,Redis会把每次写入的数据在接收后都写入appendonly.aof文件,每次启动时Redis都会先把这个文件的数据读入内存里

        从机(Slave)修改下载下来的redis.conff,主要修改参数如下:

    #bind 127.0.0.1
    protected-mode no
    appendonly yes
    
    # replicaof <master ip> <master port>
    replicaof 192.168.22.130 6379 #Redis主机(Master)IP 端口

    二、在docker中创建redis容器,并以外部文件启动

      1.主从机器同样启动:

    # docker redis 以配置文件运行:
    #docker run -p <容器端口>:<主机端口> --name <容器名> -v <本地配置文件映射容器配置文件> -v <本地文件夹挂载到容器文件夹> -d(表示以守护进程方式启动容器) <启动redis服务并制定配置文件(容器中的路径)>
    docker run -p 6379:6379 --name myredis -v /usr/local/docker/redis.conf:/usr/local/redis.conf -v /usr/local/docker/data:/usr/local/data -d redis redis-server /usr/local/redis.conf

      2.进入redis

      确保docker以及redis容器都启动之后,使用docker exec -it <redis容器名> redis-cli命令进入redis

      

       3.测试

        在主机存入一个key:

          

        在从机获取:

          

    三、注意

      1.replicaof 和 slaveof

        在redis5.x的主从配置中,从机配置要配置 replicaof 参数。而早期版本,要配置的是slaveof参数。

      2.已有redis容器

        得先删除该容器,待配置好外部redis.conf后,重新创建。

      3.daemonize参数

        在docker中,redis.conf文件中的daemonize参数要设置为no(默认是no)。

        daemonize=yes的意思为后台运行redis,但这会导致容器跑不起来。

      4.protected-mode

        设置为yes时,只允许本地服务端连接,导致不同机子(或虚拟机)的主从机无法连接。

  • 相关阅读:
    Vue.js之Vue计算属性、侦听器、样式绑定
    Vue之初识Vue
    JS对象与Dom对象与jQuery对象之间的区别
    JavaScript之JS的数据类型
    JS中toString()、toLocaleString()、valueOf()的区别
    【开源】基于 Flink 1.10.1 的 SQL 提交程序
    Flink 1.10 UDF 的一个小问题
    Flink 1.10 SQL 写 Hbase 数据无法写入hbase问题
    Flink SQL 双流 join demo
    Flink SQL 解析复杂(嵌套)JSON
  • 原文地址:https://www.cnblogs.com/Drajun/p/12339788.html
Copyright © 2011-2022 走看看