(八)Redis叢集常用命令、叢集節點新增刪除
一、cluster info :列印叢集資訊
二、cluster nodes:列出叢集中已知的所有節點(node),以及這些節點相關 資訊
可以看到上面有六個節點,三個主節點(master),三個備份節點(slave),其中有一個埠為7001的主節點前有myself節點代表當前客戶端連線的服務,三個主節點的槽點分別是7000(0-5460)、7001(5461-10922)、7002(10923-16383);
三、刪除從節點
./redis-trib.rb del-node 127.0.0.1:7004 97093dbf1f03d773400423feed29c24c8995284b
註解:127.0.0.1:7004 從節點;97093dbf1f03d773400423feed29c24c8995284b 從節點ID
四、新增從節點,將剛才刪除掉的從節點新增到叢集中去,首先看一下叢集中的節點狀態:
從上圖我們可以看到從節點已經消失了,接下來我們刪除從節點:
rm -rf nodes-7004.conf
新增從節點
./redis-trib.rb add-node --slave --master-id a4fe675ade1fb5fc9b82b5968d1e8099ac0d5444 127.0.0.1:7004 127.0.0.1:7005
--slave 表示新增的是從節點
--master-id a4fe675ade1fb5fc9b82b5968d1e8099ac0d5444 主節點的node-id
127.0.0.1:7004 主節點
127.0.0.1:7005 叢集中任意一箇舊節點
檢視一下新增從節點成功後的狀態,如下圖:
五、刪除主節點,如果主節點被刪除從節點將會自動代替主節點,如果主節點有分配的槽點(slot)那麼先去掉分配的槽點(slot),然後再刪除節點;
取消節點下分配的槽點(slot):
./redis-trib.rb reshard 127.0.0.1:7001
如下圖輸入要去掉的槽點(slot)個數:
接下來的過程是輸入要刪除槽點後的過程:
接下來的執行過程會有一個讓我們輸入yes/no是否移動槽點(slot)的提問,我們輸入yes,執行的結果是:
通過上圖我們可以卡到節點127.0.0.1:7001的槽點已經全部移動到節點127.0.0.1:7002上了;
接下來就是真正的刪除槽點(slot):
六、新增主節點
./redis-trib.rb add-node 127.0.0.1:7001 127.0.0.1:7003
127.0.0.1 新增的主節點
127.0.0.1 任意的一箇舊節點
重新分配槽點(slot)
./redis-trib.rb reshard 127.0.0.1:7001
命令執行過程中的操作跟刪除主節點的操作恰好相反
如上圖說明執行成功!!