redis cluster

redis cluster 集羣命令node

注 :這些命令是集羣所獨有的。執行下述命令要先登陸(集羣已經建立 )
集羣配置文件:需注意 cluster-migration-barrier 1  (其值大小跟每一個節點的slave角色的個數有關 slave_num +1)redis

    cluster-enabled yes  
    cluster-config-file nodes-6379.conf #(建議以nodes-端口號的形式命名,方便辨識)  
    cluster-node-timeout 15000  
    cluster-slave-validity-factor 10   cluster-migration-barrier 1 cluster-require-full-coverage yes  


redis-cli -c -p 6382 -h 192.168.10.220

//集羣(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 指定的節點的從節點。

//槽(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 目前包含的鍵值對數量。 ruby

CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 個 slot 槽中的鍵。 app

 

ruby 執行redis-trip.rb工具操做cluster
刪除從節點(從節點 節點的id)
/data/app/redis/bin/redis-trib.rb del-node 10.25.169.88:18103 "12e8a5f7655512419d54d640f4010114995e9d91"
添加主節點 (新節點 老節點)
/data/app/redis/bin/redis-trib.rb add-node 192.168.10.219:6378 192.168.10.219:6379  
添加從節點  (主節點的node-id  新加從節點 主節點)
/data/app/redis/bin/redis-trib.rb add-node --slave --master-id d2c619f96b351a7ad785e178fdd3b023e89c89d2 10.80.60.149:18110  10.25.169.88:18110


新增長的主節點,是沒有slots的 ,需從新分配slot
 redis-trib.rb reshard 192.168.10.219:6378 //下面是主要過程  
 
How many slots do you want to move (from 1 to 16384)? 1000 //設置slot數1000  
What is the receiving node ID? 03ccad2ba5dd1e062464bc7590400441fafb63f2 //新節點node id  
Please enter all the source node IDs.  
 Type 'all' to use all the nodes as source nodes for the hash slots.  
 Type 'done' once you entered all the source nodes IDs.  
Source node #1:all //表示所有節點從新洗牌  
Do you want to proceed with the proposed reshard plan (yes/no)? yes //確認從新分

10.80.60.149:18106
10.80.60.149:18117
10.80.60.149:18134
10.80.60.149:18108
10.80.60.149:18112

--98--108--10.80.60.149:18114
\
--98--108--10.80.60.149:18109
--108--10.80.60.149:18101

--98--108--10.80.60.149:18135
--98--10.80.60.149:18110工具

相關文章
相關標籤/搜索