美文网首页
centos docker简单搭建redis-cluster(3

centos docker简单搭建redis-cluster(3

作者: 米洛丶 | 来源:发表于2019-11-26 21:04 被阅读0次

    声明

    以下内容百分之90搬运自掘金---Docker Redis 5.0 集群(cluster)搭建

    之所以写这篇文章,是因为我自己想要搭建外网的服务,属于该文的一个补充。

    1. 安装所需的软件包

    终端输入以下命令并回车:

    sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2

    2. 设置稳定的存储裤

    sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

    3. 安装docker ce

    sudo yum install docker-ce

    4. 启动docker

    sudo systemctl start docker

    5. 在docker库获取redis镜像(截至2019-11-26,最新版为5.0.7)

    docker pull redis

    6. 创建redis配置文件(redis-cluster.tmpl)

    我选择的路径是: /home/tester/redis-cluster

    执行命令:

    cd /home/tester/redis-cluster
    sudo vim redis-cluster.tmpl
    

    在文本编辑页面输入以下文本:

    port ${PORT}                                       ##节点端口
    protected-mode no                                  ##开启集群模式
    cluster-enabled yes                                ##cluster集群模式
    cluster-config-file nodes.conf                     ##集群配置名
    cluster-node-timeout 5000                          ##超时时间
    cluster-announce-ip 106.13.173.1                  ##机器外网ip 我的ip为106.13.173.1(化名, 此处以你们机器外网ip为准)
    cluster-announce-port ${PORT}                      ##节点映射端口
    cluster-announce-bus-port 1${PORT}                 ##节点总线端口
    appendonly yes                                     ##持久化模式
    
    

    保存后可cat一下:

    cat /home/tester/redis-cluster/redis-cluster.tmpl

    可以看到结果:

    port ${PORT}
    protected-mode no
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 5000
    cluster-announce-ip 106.13.173.1
    cluster-announce-port ${PORT}
    cluster-announce-bus-port 1${PORT}
    appendonly yes
    
    

    7. 在/home/tester/redis-cluster下生成conf和data目标,并生成配置信息

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

    8. 创建6个redis容器

    for port in `seq 7000 7005`; do \
    docker run -d -ti -p ${port}:${port} -p 1${port}:1${port} \
    -v /home/tester/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
    -v /home/tester/redis-cluster/${port}/data:/data \
    --restart always --name redis-${port} \
    --sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf; \
    done
    

    9. 启动集群

    • 进入一个节点

    docker exec -it redis-7000 bash

    • 使用redis 5创建集群

    redis-cli --cluster create 106.13.173.1:7000 106.13.173.1:7001 106.13.173.1:7002 106.13.173.14:7003 106.13.173.1:7004 106.13.173.1:7005 --cluster-replicas 1

    在弹出的窗口输入yes即可

    相关文章

      网友评论

          本文标题:centos docker简单搭建redis-cluster(3

          本文链接:https://www.haomeiwen.com/subject/ejgywctx.html