• redis配置cluster分布式集群


    #下载最新的redis5.0
    wget http://download.redis.io/releases/redis-5.0.3.tar.gz
    tar -zxvf redis-5.0.3.tar.gz
    cd redis-5.0.3
    make
    make install /usr/local/src/redis/redis-cluster
    
    cd /usr/local/src/redis/redis-cluster
    mv ./bin ./redis01
    #把redis.conf 复制到redis01目录
    cp redis-5.0.3/redis.conf /usr/local/src/redis/redis-cluster/redis01/redis.conf
    
    #修改redis.conf配置文件,注意一下bind 的地址
    daemonize yes #后台启动
    port 6379 #修改端口号,从6379到6384
    cluster-enabled yes #开启cluster,去掉注释
    cluster-config-file nodes.conf
    cluster-node-timeout 15000
    appendonly yes
    
    #复制其他的目录作为节点
    #redis02 redis03 redis04 redis05 redis06
    
    ##最新的5.0不使用ruby,使用redis-cli来构建cluster
    ##yum install ruby
    ##yum install rubygems
    
    #在redis-cluster目录下,创建start.sh,启动redis,命令如下:
    cd redis01  
    ./redis-server redis.conf  
    cd ..  
    cd redis02  
    ./redis-server redis.conf  
    cd ..  
    cd redis03  
    ./redis-server redis.conf  
    cd ..  
    cd redis04  
    ./redis-server redis.conf  
    cd ..  
    cd redis05  
    ./redis-server redis.conf  
    cd ..  
    cd redis06  
    ./redis-server redis.conf  
    cd ..  
    
    
    #启动start.sh redis全部  pkill -9 redis   //该命令杀死进程
    chmod 777 start.sh
    ./start.sh
    
    #最新的配置,5.0建议使用redis-cli来运行命令,启动任意节点的redis-cli
    ./redis01/redis-cli --cluster create 0.0.0.0:6379 0.0.0.0:6380 0.0.0.0:6381 0.0.0.0:6382 0.0.0.0:6383 0.0.0.0:6384 --cluster-replicas 1
    
    
    ##该命令适用于低版本
    ##./redis-trib.rb create --replicas 1 0.0.0.0:6379 0.0.0.0:6380 0.0.0.0:6381 0.0.0.0:6382 0.0.0.0:6383 0.0.0.0:6384

    关于redis-cluster集群

    Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有 节点连接。
    结构特点:
    1.所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。
    2.节点的fail是通过集群中超过半数的节点检测失效时才生效。
    3.客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。
    4.redis-cluster把所有的物理节点映射到[0-16383]slot上(不一定是平均分配),cluster 负责维护node<->slot<->value。
    5.Redis集群预分好16384个桶,当需要在 Redis 集群中放置一个 key-value 时,根据 CRC16(key) mod 16384的值,决定将一个key放到哪个桶中。

    新增一个主节点:
    新增一个节点D,redis cluster的这种做法是从各个节点的前面各拿取一部分slot到D上,我会在接下来的实践中实验。大致就会变成这样:
    节点A覆盖1365-5460
    节点B覆盖6827-10922
    节点C覆盖12288-16383
    节点D覆盖0-1364,5461-6826,10923-12287

    redis-cluster的主从模式
    redis cluster 为了保证数据的高可用性,加入了主从模式,一个主节点对应一个或多个从节点,主节点提供数据存取,从节点则是从主节点拉取数据备份,当这个主节点挂掉后,
    就会有这个从节点选取一个来充当主节点,从而保证集群不会挂掉。

  • 相关阅读:
    Android(java)学习笔记15:匿名内部类实现多线程
    Android(java)学习笔记14:Java线程池
    Android(java)学习笔记13:线程组的概述和使用
    Android(java)学习笔记12:线程的状态转换图以及常见执行情况
    win2012R2打Windows8.1-KB2919355 问题
    win2012R2打Windows8.1-KB2919355 问题
    P2404
    P2404
    P2404
    抽签
  • 原文地址:https://www.cnblogs.com/phpzhou/p/10462051.html
Copyright © 2020-2023  润新知