zoukankan      html  css  js  c++  java
  • 基于docker环境搭建redis-cluster集群(单机)

    1.拉取redis镜像

      

    2.创建redis的配置文件redis-cluster.tmpl

    protected-mode no ##设置外部网络连接redis服务,默认是yes,即开启。开启protected-mode保护模式,需配置bind ip或者设置访问密码,关闭protected-mode模式,此时外部网络可以直接访问
    port ${PORT} ##节点端口
    daemonize no ##指定redis是否要用守护线程的方式启动,默认no
    appendonly yes ##持久化模式
    cluster-enabled yes ##cluster集群模式
    cluster-config-file nodes.conf ##集群配置名
    cluster-node-timeout 15000 ##超时时间
    cluster-announce-ip 172.18.0.${TEMP} ##实际为各节点网卡分配ip
    cluster-announce-port ${PORT}  ##节点映射端口
    cluster-announce-bus-port 1${PORT}  ##节点总线端

    3.创建自定义网桥redis-net

    docker network create redis-net

    4.创建creatRedisCluster.sh脚本,用来生成每个节点的conf和data信息

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

    运行该脚本,生成如下目录

    5.启动6个redis实例

    创建脚本creatDocker.sh

    for port in `seq 7001 7006`; do
      docker run -p ${port}:${port} -p 1${port}:1${port} --name redis-${port} 
      -v /home/gmh/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf 
      -v /home/gmh/redis-cluster/${port}/data:/data --name redis-${port} --net redis-net --rm -d redis:5.0 redis-server /usr/local/etc/redis/redis.conf;
    done

    运行该脚本

    6.创建redis-cluster集群

    进入一个实例容器

    docker exec -it redis-7001 bash

    执行如下命令

    /usr/local/bin/redis-cli --cluster create 172.18.0.2:7001 172.18.0.3:7002 172.18.0.4:7003 172.18.0.5:7004 172.18.0.6:7005 172.18.0.7:7006  --cluster-replicas 1

    等待搭建完成。。。

    7.测试

    ##set
    /usr/local/bin/redis-cli -c -h 127.18.0.2 -p 7001
    set aaa 111
    ##get
    docker exec -it redis-7002 /usr/local/bin/redis-cli -c -h 172.18.0.3 -p 7002
    get aaa

  • 相关阅读:
    Net中应用 Redis 扩展类
    【ASP.Net MVC3 】使用Unity 实现依赖注入
    NET平台常用的框架整理
    ABP 基于DDD的.NET开发框架 学习(三)创建模块:任务管理
    ABP 基于DDD的.NET开发框架 学习(二)创建实体
    ABP 基于DDD的.NET开发框架 学习(一)
    生成二维码图片
    淘宝图片指纹匹配功能c#实现
    webAPI中“System.Web.Http.HttpConfiguration”不包含“EnableSystemDiagnosticsTracing”的定义解决办法
    NuGet包 安装相关指令
  • 原文地址:https://www.cnblogs.com/answerThe/p/11307017.html
Copyright © 2011-2022 走看看