當前位置:編程學習大全網 - 圖片素材 - redis cluster命令cluster nodes怎麽用

redis cluster命令cluster nodes怎麽用

redis cluster配置好,並運行壹段時間後,我們想添加節點,或者刪除節點,該怎麽辦呢。

壹,redis cluster命令行

查看復制打印?

//集群(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 槽中的鍵。

這些命令是集群所獨有的。執行上述命令要先登錄

查看復制打印?

[root@manage redis]# redis-cli -c -p 6382 -h 192.168.10.220 //登錄

192.168.10.220:6382> cluster info //查看集群情況

cluster_state:ok

cluster_slots_assigned:16384

cluster_slots_ok:16384

cluster_slots_pfail:0

cluster_slots_fail:0

cluster_known_nodes:6

cluster_size:3

cluster_current_epoch:8

cluster_my_epoch:4

cluster_stats_messages_sent:82753

cluster_stats_messages_received:82754

二,添加節點

1,新配置二個測試節點

查看復制打印?

# cd /etc/redis

//新增配置

# cp redis-6379.conf redis-6378.conf && sed -i "s/6379/6378/g" redis-6378.conf

# cp redis-6382.conf redis-6385.conf && sed -i "s/6382/6385/g" redis-6385.conf

//啟動

# redis-server /etc/redis/redis-6385.conf > /var/log/redis/redis-6385.log 2>&1 &

# redis-server /etc/redis/redis-6378.conf > /var/log/redis/redis-6378.log 2>&1 &

2,添加主節點

# redis-trib.rb add-node 192.168.10.219:6378 192.168.10.219:6379

註釋:

192.168.10.219:6378是新增的節點

192.168.10.219:6379集群任壹個舊節點

3,添加從節點

# redis-trib.rb add-node --slave --master-id 03ccad2ba5dd1e062464bc7590400441fafb63f2 192.168.10.220:6385 192.168.10.219:6379

註釋:

--slave,表示添加的是從節點

--master-id 03ccad2ba5dd1e062464bc7590400441fafb63f2,主節點的node id,在這裏是前面新添加的6378的node id

192.168.10.220:6385,新節點

192.168.10.219:6379集群任壹個舊節點

4,重新分配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 //確認重新分

新增加的主節點,是沒有slots的,

  • 上一篇:顯示器上出現彩色條紋是怎麽回事
  • 下一篇:2014年放射科個人總結報告怎麽寫
  • copyright 2024編程學習大全網