• Redis集群动态增加和删除节点


    一、添加节点

        1、首先将需要添加的节点启动

             这里启动redis6383.conf和redis6393.conf两个节点

             查看原有节点:          

            3个主节点所对应的哈希槽(hash slot)

            myself表示当前连接的节点

          2、执行以下命令,将新节点添加到集群中

          ../redis-trib.rb add-node 192.168.230.129:6383 192.168.230.129:6380       

         备注:192.168.42.111:6383 是新的主节点

                 192.168.42.111:6380 是原存在的任一主节点

          

         查看刚才新增的节点   

         3、增加一个从节点,执行以下命令   

         ../redis-trib.rb add-node --slave --master-id 863203beac4e9e1fd85b218fc388f8b8ac9d2218 192.168.230.129:6393 192.168.230.129:6380 

           注释:

                  --slave 表示添加的是从节点

                  --master-id 863203beac4e9e1fd85b218fc388f8b8ac9d2218 主节点的node id,在这里是前面新添加的6383的node id

                  192.168.10.220:6393 新节点

                  192.168.10.219:6380 集群任一个旧节点  

    查看节点情况,可看见从节点已添加

    但是,其主节点也就是6383的哈希槽为空,需要重新分配槽,执行命令:

     ../redis-trib.rb reshard 192.168.230.129:6380 

     注释: 192.168.230.129:6380 集群任一个旧节点

    然后再输入yes,redis集群就开始分配哈希槽了.....

    至此,一个新的主节点就添加完成了,执行命令查看现在的集群中节点的状态

    可看到已分配

    二、删除节点

         1、删除从节点

             删除从节点,直接使用以下命令即可

             ../redis-trib.rb del-node 192.168.230.129:6393 05945dcae79aca1425f68ca95f2aaf4d44b2167a

            注释:192.168.230.129:6393  节点地址

                       05945dcae79aca1425f68ca95f2aaf4d44b2167a   节点node_id

           

         2、删除主节点

              因为主节点含有槽数,所以,首先要把节点中的哈希槽转移到其他节点中,执行命令

              ../redis-trib.rb reshard 192.168.230.129:6380 

             注:192.168.230.129:6380  集群中任一主节点     

    然后再输入yes,等待转移完成......

    查看节点情况

    最后,使用以下命令,将节点删除

     ../redis-trib.rb del-node 192.168.230.129:6383 863203beac4e9e1fd85b218fc388f8b8ac9d2218 

    三、为主节点添加从节点

           1.首先将新节点添加到集群中,使用命令

            ../redis-trib.rb add-node 192.168.230.129:6383 192.168.230.129:6380 

           2.执行以下命令,将添加至某个主节点

            ../redis-cli -c -h 192.168.230.129 -p 6383 cluster replicate 52f6a45a1e968ab150a50127f29e9f0b3efbae9c 

            注:后面的node_id为要添加主节点的ID

          3.使用下面命令来确认一下192.168.230.129:6383是否已经成为192.168.230.129:6380的从节点

            ../redis-cli -c -h 192.168.230.129 -p 6380 cluster nodes | grep slave | grep 52f6a45a1e968ab150a50127f29e9f0b3efbae9c 

    可看到6380的两个从节点:

    查看节点之间的关系

  • 相关阅读:
    集合总结(非常重要)
    day18_Map案例
    Map代码案例
    重踏学习Java路上_Day18(Map,Collections)
    TreeSet概述(源码和内部图 进行解析,包含练习案例)
    HashSet保证元素唯一性的代码体现(源码和内部图 进行解析)
    重踏学习Java路上_Day17(登录注册案例,Set集合,Collection集合总结,在集合中常见的数据结构)
    Java 泛型解析,太难了,认真读才能理解
    题解 【BZOJ4700】适者
    题解 楼房重建
  • 原文地址:https://www.cnblogs.com/maybesuch/p/10309403.html
Copyright © 2020-2023  润新知