1. 程式人生 > >(八)Redis叢集常用命令、叢集節點新增刪除

(八)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

命令執行過程中的操作跟刪除主節點的操作恰好相反

如上圖說明執行成功!!