• 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的两个从节点:

    查看节点之间的关系

  • 相关阅读:
    ffmpeg处理RTMP流媒体的命令大全
    人像摄影技巧——镜头差异可改变脸部印象
    windows操作系统自带的TCP端口转发
    IIS7.5如何限制某UserAgent 禁止访问
    JS显示上一周
    mysql主从复制(超简单)
    0001-BUGIFX-Magento-Zend-Framework-1-PHP5.6.patch
    Nginx启用Gzip压缩js无效的原因
    开启Nginx的gzip压缩功能详解
    Python 中的垃圾回收机制
  • 原文地址:https://www.cnblogs.com/maybesuch/p/10309403.html
Copyright © 2020-2023  润新知