zoukankan      html  css  js  c++  java
  • docker简单部署redis集群

    单机服务器,使用docker 部署redis 集群

    首先获取redis镜像,docker pull redis ,我直接使用最新版本的redis,如果需要某一版本,则可以docker pull redis:4.0.1

    获取成功后,可以通过docker images 查看。

    下面开始部署redis集群

    首先新建配置 模板:

    vi redis-cluster.tmpl

    port ${PORT}
    masterauth 123456
    requirepass 123456
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 5000
    cluster-announce-ip 172.17.40.1
    cluster-announce-port ${PORT}
    cluster-announce-bus-port 1${PORT}
    appendonly yes
    

     

    参数描述
    (1)port(端口号)
    (2)masterauth(设置集群节点间访问密码,跟下面一致
    (3)requirepass(设置redis访问密码)
    (4)cluster-enabled yes(启动集群模式)
    (5)cluster-config-file nodes.conf(集群节点信息文件)
    (6)cluster-node-timeout 5000(redis节点宕机被发现的时间)
    (7)cluster-announce-ip(集群节点的汇报ip,防止nat,预先填写为网关ip后续需要手动修改配置文件) ,单机直接使用 ifconfig  如下, 直接使用  172.17.40.1

    docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 172.17.40.1  netmask 255.255.255.0  broadcast 0.0.0.0
            ether 02:42:a5:3e:29:d8  txqueuelen 0  (Ethernet)
            RX packets 291  bytes 30756 (30.0 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 215  bytes 13108 (12.8 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    ......

    (8)cluster-announce-port(集群节点的汇报port,防止nat)
    (9)cluster-announce-bus-port(集群节点的汇报bus-port,防止nat)
    (10) appendonly yes(开启aof)

    然后执行如下脚本创建 配置文件:

    for port in `seq 7001 7006`; do 
      mkdir -p ./${port}/conf 
      && PORT=${port} envsubst < ./redis-cluster.tmpl > ./${port}/conf/redis.conf 
      && mkdir -p ./${port}/data; 
    done
    

        

    下面启动docker redis 容器

    for port in `seq 7001 7006`; do
         docker run -d --net=host -v /usr/local/docker/config/${port}/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/config/${port}/data:/data --restart always --name=redis-${port}  redis redis-server /etc/redis/redis.conf;
    done
    

      

    创建完成可以,可以通过docker ps 查看,进入其中一个redis 容器: docker exec -it redis-7001 /bin/bash 

    执行如下命令建立集群:

    redis-cli -a 123456 --cluster create 172.17.40.1:7001 172.17.40.1:7002 172.17.40.1:7003 172.17.40.1:7004 172.17.40.1:7005 172.17.40.1:7006 --cluster-replicas 1
    

      如下图,创建集群成功。

    可以连接某一节点,检验集群状态:

    七、检查集群状态

    容器内验证

    执行此命令可以连接到某一个redis服务:redis-cli -c -a 123456  -h 172.17.40.1  -p 7001  

    进入某一容器,执行此命令,可以查看集群主从详情:redis-cli -a 123456 -c -p 7001 cluster nodes

  • 相关阅读:
    C语言I博客作业09
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言II博客作业01
    c语言学期总结
  • 原文地址:https://www.cnblogs.com/zhanglifeng/p/13166403.html
Copyright © 2011-2022 走看看