1. 程式人生 > >redis叢集操作命令

redis叢集操作命令




1: 叢集建立
  ./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
 
2:檢查叢集節點:
 ./redis-trib.rb check 127.0.0.1:7000


3: 新增主節點(7007) 後面的7002是叢集中的任意一個都可以


 ./redis-trib.rb add-node 127.0.0.1:7007 127.0.0.1:7002 


  redis-cluster在新增節點時並未分配卡槽,需要我們手動對叢集進行重新分片遷移資料,需要重新分片命令 reshard,這個命令是用來遷移slot節點的,後面的127.0.0.1:7005是表示是哪個叢集,埠填[7000-7007]都可以,
    
 ./redis-trib.rb reshard 127.0.0.1:7005 


  它提示我們需要遷移多少slot到7007上,我們平分16384個雜湊槽給4個節點:16384/4 = 4096,我們需要移動4096個槽點到7007上。
 
[plain] view plain copy
 在CODE上檢視程式碼片派生到我的程式碼片
[OK] All 16384 slots covered.  
How many slots do you want to move (from 1 to 16384)? 4096  
What is the receiving node ID?   
 
 需要輸入7007的節點id,ee3efb90e5ac0725f15238a64fc60a18a71205d7


4: 新增從節點(7008)


 ./redis-trib.rb add-node --slave --master-id $[nodeid] 127.0.0.1:7008 127.0.0.1:7000 


nodeid為要加到master主節點的node id,127.0.0.1:7008為新增的從節點,127.0.0.1:7000為叢集的一個節點(叢集的任意節點都行),

用來辨識是哪個叢集;如果沒有給定那個主節點--master-id的話,redis-trib將會將新增的從節點隨機到從節點較少的主節點上

5:登入叢集客戶端: 

 調整節點為slave

cluster replicate 7e0c1c80881a5e5855586f817fbe6270e51a7413

分配槽

cluster addslots 0 5000

  1. /叢集(cluster)  
  2. CLUSTER INFO 列印叢集的資訊  
  3. CLUSTER NODES 列出叢集當前已知的所有節點(node),以及這些節點的相關資訊。  
  4. //節點(node)  
  5. CLUSTER MEET <ip> <port> 將 ip 和 port 所指定的節點新增到叢集當中,讓它成為叢集的一份子。  
  6. CLUSTER FORGET <node_id> 從叢集中移除 node_id 指定的節點。  
  7. CLUSTER REPLICATE <node_id> 將當前節點設定為 node_id 指定的節點的從節點。  
  8. CLUSTER SAVECONFIG 將節點的配置檔案儲存到硬盤裡面。  
  9. //槽(slot)  
  10. CLUSTER ADDSLOTS <slot> [slot ...] 將一個或多個槽(slot)指派(assign)給當前節點。  
  11. CLUSTER DELSLOTS <slot> [slot ...] 移除一個或多個槽對當前節點的指派。  
  12. CLUSTER FLUSHSLOTS 移除指派給當前節點的所有槽,讓當前節點變成一個沒有指派任何槽的節點。  
  13. CLUSTER SETSLOT <slot> NODE <node_id> 將槽 slot 指派給 node_id 指定的節點,如果槽已經指派給另一個節點,那麼先讓另一個節點刪除該槽>,然後再進行指派。  
  14. CLUSTER SETSLOT <slot> MIGRATING <node_id> 將本節點的槽 slot 遷移到 node_id 指定的節點中。  
  15. CLUSTER SETSLOT <slot> IMPORTING <node_id> 從 node_id 指定的節點中匯入槽 slot 到本節點。  
  16. CLUSTER SETSLOT <slot> STABLE 取消對槽 slot 的匯入(import)或者遷移(migrate)。  
  17. //鍵 (key)  
  18. CLUSTER KEYSLOT <key> 計算鍵 key 應該被放置在哪個槽上。  
  19. CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的鍵值對數量。  
  20. CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 個 slot 槽中的鍵。