• redis cluster


     https://blog.csdn.net/mingojiang/article/details/78902370

    https://www.cnblogs.com/wxd0108/p/5798332.html

    cluster forget 3491adc01c5bc226516f029df9e2bf1bc9fe63fd 删除节点

    cluster meet 10.5.2.17 7005 添加节点

    redis-cli -c -h 10.5.2.14

    1  安装 redis  修改配置文件

    mkdir /export1/redislog/
    mkdir /export1/rdb/

    bind 10.5.2.13
    port 7000
    daemonize yes
    pidfile /var/run/redis_7000.pid
    logfile "/export1/redislog/redis_7000.log"
    dbfilename dump7000.rdb
    dir /export1/rdb/
    cluster-enabled yes
    cluster-config-file nodes-7000.conf
    cluster-node-timeout 15000
    cluster-slave-validity-factor 10
    cluster-migration-barrier 1
    cluster-require-full-coverage yes

    [root@redis13 export1]# more /root/.bash_profile
    PATH=$PATH:$HOME/bin:/export1/redis-3.2.4/src
    export PATH


    yum install ruby rubygems -y

    wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.2.gem --no-check-certificate

    gem install -l redis-3.2.2.gem

    2 启动redis

     redis-server /export1/redis-3.2.4/redis7000.conf
     redis-server /export1/redis-3.2.4/redis7001.conf
     redis-server /export1/redis-3.2.4/redis7002.conf
     redis-server /export1/redis-3.2.4/redis7003.conf
     redis-server /export1/redis-3.2.4/redis7004.conf
     redis-server /export1/redis-3.2.4/redis7005.conf

    3 创建集群
    redis-trib.rb create --replicas 1 10.5.2.13:7000 10.5.2.13:7001 10.5.2.13:7002 10.5.2.13:7003 10.5.2.13:7004 10.5.2.13:7005

    3  查看 集群信息:

    4  添加新节点:

    redis-trib.rb add-node 10.5.2.13:7006 10.5.2.13:7005

    5  查看新节点状态:

    新加入的节点 不能分配keys, 新加入节点没有soler

    6  新节点 变为从节点:

     ##################直接添加从主机:redis-trib.rb add-node --slave --master-id $[nodeid] 127.0.0.1:7006 127.0.0.1:7000#########################

    7 删除从节点:

    redis-trib.rb del-node 10.5.2.13:7006 b6824d87790ca9a0686949b89016945577eb3a18

    8  加入老的节点:

      8.1 rm -rf dump7006.rdb nodes-7006.conf 

      8.2 关闭 7006

      8.3 启动 7006

      8.4  添加   redis-trib.rb add-node 10.5.2.13:7006 10.5.2.13:7005  节点,  详见上边4

    9 把新加入的节点变为主节点:

      9.1 分配slot:

    redis-trib.rb reshard 10.5.2.13:7006

      9.2 查看状态:

       10  删除主节点:

          10.1  分配slot:把slot 转移到其他节点上

        10.2  先删除 从节点

        10.3  再删除 主节点  redis-trib.rb del-node 10.5.2.13:7006 905aac63b7f807250c8f1353bd35cf0533495eab

        10.4  查看已经删除: 

    11  主节点 7001:down了,7004从变成主:

     

    12  把7001坏的节点起来: 7001 变成了7004 的从:

    13  如果新加入从 详见上边

    14 删除坏的主节点:

     15  集群命令:

    CLUSTER INFO 打印集群的信息
    CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。
    节点
    CLUSTER MEET <ip> <port> 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
    CLUSTER FORGET <node_id> 从集群中移除 node_id 指定的节点。
    CLUSTER REPLICATE <node_id> 将当前节点设置为 node_id 指定的节点的从节点。
    CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。
    槽(slot)
    CLUSTER ADDSLOTS <slot> [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。
    CLUSTER DELSLOTS <slot> [slot ...] 移除一个或多个槽对当前节点的指派。
    CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
    CLUSTER SETSLOT <slot> NODE <node_id> 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。
    CLUSTER SETSLOT <slot> MIGRATING <node_id> 将本节点的槽 slot 迁移到 node_id 指定的节点中。
    CLUSTER SETSLOT <slot> IMPORTING <node_id> 从 node_id 指定的节点中导入槽 slot 到本节点。
    CLUSTER SETSLOT <slot> STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。
    CLUSTER KEYSLOT <key> 计算键 key 应该被放置在哪个槽上。
    CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的键值对数量。
    CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 个 slot 槽中的键。

        

  • 相关阅读:
    问题:sqlserver 跨服务器连接;结果:Sql Server 跨服务器连接
    SpringBoot之Servlet、Filter、Listener配置
    spring boot 使用@ConfigurationProperties
    Mysql字段属性应该尽量设置为not null
    微服务—ELK分布式日志框架
    微服务—分布式服务追踪sleuth和zipkin
    微服务—熔断器Hystrix
    @RequestBody和@ResponseBody的使用情形以及RestTemplate的http报文转换
    application/x-www-form-urlencoded和multipart/form-data
    基于JWT的token身份认证方案
  • 原文地址:https://www.cnblogs.com/qtxdy/p/7726284.html
Copyright © 2020-2023  润新知