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的兩個從節點:

查看節點之間的關系

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM