• Redis(1.13)Redis cluster 分布式集群手动配置


    【1】试验环境

    结构图如下:

      

    (这里试验没有那么多机器,就用3台机器搭建试验)

    redis1是redis集群的一个节点A,上面运行了两个redis实例,7001 7004

    redis2是redis集群的一个节点B,上面运行了两个redis实例,7002 7005

    redis3是redis集群的一个节点C,上面运行了两个redis实例,7003 7006

    -- 试验集群包含 A/B/C A1/B1/C1 6个节点

      A、B、C 为主节点对应Redis实例:7001 7002 7003

      A1、A2、A3 为主节点的从库,对应Redis实例:7004 7005 7006

    -- 交叉构建主从节点,对应关系为

      【A > B】  【B>C】  【C>A1】

        A:192.168.135.173

        B:192.168.135.174

        C:192.168.135.175

    -- IP与端口分布:

    cluster1:

      主:192.168.135.173 7001 /data/redis/redis-cluster/nodes-7001/redis.conf

      备:192.168.135.174 7005 /data/redis/redis-cluster/nodes-7005/redis.conf

    cluster2:

      主:192.168.135.174 7002 /data/redis/redis-cluster/nodes-7002/redis.conf

      备:192.168.135.175 7006 /data/redis/redis-cluster/nodes-7006/redis.conf

    cluster3:

      主:192.168.135.175 7003 /data/redis/redis-cluster/nodes-7003/redis.conf

      备:192.168.135.175 7004 /data/redis/redis-cluster/nodes-7004/redis.conf

    【2】清除现有集群

    如果有的话,才做这一步,没有的话,直接下一步【3】即可

    (2.1)清理现有数据

      #登录集群

        redis-cli -c -h 192.168.135.173 -p 7001

      #删除数据

        flushdb

    (2.2)删掉现有集群

      #停掉集群节点的redis服务,举例代码如下:

        《1》./startall.sh stop  《2》redis-cli -h 192.168.135.173 -p 7001

      #删掉集群节点的所有 aof/rdb/pid/nodes.conf,举例代码如下:

        rm -rf /data/redis/7001conf/{appendonly.aof,redis.rdb,redis.pid,nodes-7001.conf}

    【3】手动配置集群

    (3.1)启动各节点的redis服务

      案例代码如下:

      《1》./startall.sh start  《2》redis-server /data/redis/7001conf/7001redis.conf

    (3.2)登录集群,开始握手

    redis-cli -p 7001 -h 192.168.135.173 -c

    cluster meet 192.168.135.173 7001

    cluster meet 192.168.135.173 7004

    cluster meet 192.168.135.174 7002

    cluster meet 192.168.135.174 7005

    cluster meet 192.168.135.175 7003

    cluster meet 192.168.135.175 7006

    (3.3)查看节点

      cluster nodes

      #这个时候如果想操作,比如使用set test1 a,会报错 (error) CLUSTERDOWN Hash slot not served,说是还没有分配哈希槽来提供服务。

    (3.4)分配 16384个哈希槽

    主:

    redis-cli -h 192.168.135.173 -p 7001 cluster addslots {0..5461}

    redis-cli -h 192.168.135.174 -p 7002 cluster addslots {5462..10922}

    redis-cli -h 192.168.135.175 -p 7003 cluster addslots {10923..16383}

    (3.5)主从映射

    #登录上从库开始复制,利用cluster nodes 查看对应主库的 node_id

    (主从对应关系在【0】已经规划好,大致如:7001~7005,7002~7006,7003~7004)

      

    #cluster replicate 7001node_id
    redis-cli -h 192.168.135.174 -p 7005
    cluster replicate b7fcec9116ec14593e821104fa00ae8019d91054
    exit #cluster replicate 7002node_id redis
    -cli -h 192.168.135.175 -p 7006 cluster replicate 5de5cda4fb5ad46f1d7a67b75b04946a0c203ff5
    exit #cluster replicate 7003node_id redis
    -cli -h 192.168.135.173 -p 7004 cluster replicate 77ad3c48f3e8903d369c6190600aadfdbaa1ef20
    exit

    最终IP、主从、槽位 效果:

      

  • 相关阅读:
    ****ural 1141. RSA Attack(RSA加密,扩展欧几里得算法)
    ural 1356. Something Easier(数论,哥德巴赫猜想)
    ural 1261. Tips(进制运算)
    ural 1355. Bald Spot Revisited(数的素因子划分)
    ural 1049. Brave Balloonists(标准分解式,数论)
    jpa之hibernate4.2.4之tomcat6.0测试
    jpa之hibernate4.2.4之双向关联之一对一、一对多、多对多
    JPA之hibernate4.2.4之简单测试
    oracle之存储过程
    dom4j之创建xml、读取xml、修改xml
  • 原文地址:https://www.cnblogs.com/gered/p/11835480.html
Copyright © 2020-2023  润新知