一、添加節點
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的兩個從節點:
查看節點之間的關系