zoukankan      html  css  js  c++  java
  • 使用docker 创建6节点redis 集群 RedisCluster redis集群

    1.RedisCluster 特点(3主节点redis 集群  及6节点集群)

    1.无中心节点,客户端与redis 节点直连,不需要中间代理,(有选举机制 master个数需要奇数个)
    2.数据可以被分片储存(设置冗余节点备份)
    3.管理方便

    1.获取redis 镜像

    docker pull  yyyyttttwwww/redis

    改名 docker tag
    yyyyttttwwww/redis redis
    
    

    2.运行redis 容器

    docker  run -it   -d   --name   r1  -p 5001:6379  --net=net2  --ip 172.19.0.2  redis   bash
    
    # --net=net2   网段
    #--ip 172.19.0.2  设置ip

    3.删除 docker_gwbridge (网段不删除不好用)

    4.创建net2 网段

    docker  network  create  --subnet=172.19.0.0/16  net2

     5。创建redis 

    docker  run -it   -d   --name   r1  -p 5001:6379  --net=net2  --ip 172.19.0.2  redis   bash

    5.进入redis 容器修改配置文件 /usr/redis/redis.conf   

    vi   /usr/redis/redis.conf    

    6.启动 redis

     cd   /usr/redis/src/
    
    ./redis-server  ../redis.conf

    7.依次创建其他5节点redis ,分别进入各节点redis 的容器中    /usr/redis/src/  使用   ./redis-server ../redis.conf 启动redis

    docker  run -it   -d   --name   r2  -p 5002:6379  --net=net2  --ip 172.19.0.3  redis   bash
    
    docker  run -it   -d   --name   r3  -p 5003:6379  --net=net2  --ip 172.19.0.4  redis   bash
    
    docker  run -it   -d   --name   r4  -p 5004:6379  --net=net2  --ip 172.19.0.5  redis   bash
    
    docker  run -it   -d   --name   r5  -p 5005:6379  --net=net2  --ip 172.19.0.6  redis   bash
    
    docker  run -it   -d   --name   r6  -p 5006:6379  --net=net2  --ip 172.19.0.7  redis   bash

    进入redis r1 节点  

    1.在  /usr/redis 下创建  创建空目录  、

    mkdir  /usr/redis/cluster/

    2. 将  redis-trib.rb 复制到新创建 cluster 的目录下

    cp   /usr/redis/src/redis-trib.rb   /usr/redis/cluster/
     在docker库获取镜像:redis,ruby;下载redis-trib.rb(命令:wget http://download.redis.io/redis-stable/src/redis-trib.rb

     3. 更新apt-get 安装ruby  rubygems 程序,使用rubygems   gem  安装redis 集群

    apt-get update  
    apt-get install  ruby
    apt-get install rubygems
    gem install redis

      4.进入  /usr/redis/cluster/   创建集群(yyyyttttwwww/redis 镜像中都已经创建好了ruby 环境 直接镜如下像创建集群的指令即可)

    cd  /usr/redis/cluster

    ./redis-trib.rb create --replicas 1 172.19.0.2:6379 172.19.0.3:6379 172.19.0.4:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.0.7:6379 --replicas 1 #每一个主节点创建一个从节点

    5. 使用任何一个节点链接redis 集群

    docker  exec -it  r1 bash
    
    /usr/redis/src/redis-cli  -c 
    
    
    -c 链接redis集群

    6. 进入r1容器节点   使用工具    /usr/redis/src/redis-cli  -c  连接集群

    7.验证 写入数据 set  get 写入数据 读取数据

     

     8.推销是那个节点并将期暂停后在读写数据  docker pause r2  (创建时的ip 推算172.19.0.3)

    9. 退出redis 集群链接后重新链接 读取数据,如下可以看出redis集群链接到r5节点( 172.19.0.6 )

     

     10.查看集群运行的状况  cluster nodes  ( j进入容器,链接集群,)就可以看出r2 节点是挂掉的

     11. 使用 docker unpause r2  进行恢复,恢复后该节点自动降级为salve 节点

     

  • 相关阅读:
    C#中正则表达式的分组构造
    CompressionModule压缩模块
    BS程序代码与安全与基本攻击/防御模式
    mssql 性能优化的一些认识
    sql语句基础
    利用.net2.0中的GZip或Deflate压缩文件
    一个完整的ID生成器,并极大地降低了并发重复的概率,转换成十六进制 时间戳
    IE中的条件注释表
    DevExpress的10个使用技巧
    几种检查调试CSS布局的有效方法
  • 原文地址:https://www.cnblogs.com/tsgxj/p/15012374.html
Copyright © 2011-2022 走看看