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