1. 程式人生 > >Redis-Cluster 動態增加主從節點

Redis-Cluster 動態增加主從節點

1:首先使用trib的check命令檢查下叢集當前的節點狀態

redis-trib.rb check xxx:6380

2:新增兩個節點配置檔案。(cp現有叢集節點配置檔案)

cd /usr/local/src/redis-3.2.4/redis_cluster/
cp -r 6380.conf  6386.conf
cp -r 6380.conf  6387.conf
2.1:修改兩個幾點配置檔案
  • 注意修配置改檔案的port,log,pid,叢集配置檔名
2.2:啟動節點。

3:新增主節點

redis-trib.rb add-node xxx:6386 xxx:6380
xxx:6386是新增節點 xxx:6380是任意一個叢集老節點

使用trib的check命令檢查節點狀態,可以看出剛剛新增的是M主節

4:新增從節點

redis-trib.rb add-node --slave --master-id 2b7bb3be16460f2e0848c69cef3acc68f655a041 xxx:7007 xxx:7006

--slave,新增從節點.
--master-id,主節點id

使用trib的check命令檢查節點狀態,可以看出剛剛新增的是S從節點

給新的主節點重新分配slots,預設剛剛新增的主節點是沒有slots的,這樣在存取資料的時候不會被選擇

redis-trib.rb reshard xxx:6386
How many slots do you want to move (from 1 to 16384)? 2000(分配插槽數)
What is the receiving node ID? ea72ebfdb78a6ffa8c89e09dc1626795373589bf (新主節點id)
Source node #1:all   //all表示從所有主節點中轉移2000個雜湊槽
Do you want to proceed with the proposed reshard plan (yes/no)? yes  //確認分配 

最後使用trib的check命令檢查節點狀態,可以看到之前slots為0現在已經分配了

這裡寫圖片描述