1. 程式人生 > >5.0中redis-cli的集群管理測試

5.0中redis-cli的集群管理測試

water 記得 bcb dff eba code copy 所有 mage

集群管理工具redis-trib.rb已經被廢棄,所以不用安裝ruby啥的了,當時redis-trib.rb的功能,現在已經集成到了redis-cli中,可以通過./redis-cli --cluster help查看使用方式。

環境

技術分享圖片

#創建集群#

./redis-cli --cluster create 192.168.1.172:6379 192.168.1.172:6380 192.168.1.172:6381
技術分享圖片
查看所有槽已經均勻分配
技術分享圖片

#檢查集群#

./redis-cli --cluster check 192.168.1.172:6379
技術分享圖片
查看集群一切正常

#查看集群key、slot、slave分布信息#

./redis-cli --cluster info 192.168.1.172:6379
技術分享圖片

#在線遷移槽#

./redis-cli --cluster reshard 192.168.1.172:6379
選擇一個目標節點的id
源選擇all
技術分享圖片

#平衡各節點槽數量#

./redis-cli --cluster rebalance --cluster-threshold 1 192.168.1.172:6379
技術分享圖片
已平衡
技術分享圖片

#刪除集群節點#

./redis-cli --cluster del-node 192.168.1.172:6379 b97cde23f3c1a1b13e42728562180355b985831a

這裏必須是沒有槽的節點,所以必須先移除槽,否則報如下錯誤
技術分享圖片
通過reshard遷移走槽後,刪除成功,並且關閉了該節點
技術分享圖片
技術分享圖片
被刪除的node重啟後,依然記得集群中的其它節點,這是需要執行cluster forget nodeid來忘記其它節點

#添加集群節點#

./redis-cli --cluster add-node 192.168.1.172:6379 192.168.1.172:6380
技術分享圖片
再平衡各節點slot數量
技術分享圖片

#將集群外部redis實例中的數據導入到集群中去#

./redis-cli --cluster import 192.168.1.172:6379 --cluster-from 192.168.1.172:6382 --cluster-copy

技術分享圖片
Cluster-from後面跟外部redis的ip和port
如果只使用cluster-copy,則要導入集群中的key不能在,否則如下:
技術分享圖片
如果集群中已有同樣的key,如果需要替換,可以cluster-copy和cluster-replace聯用,這樣集群中的key就會被替換為外部的
技術分享圖片

5.0中redis-cli的集群管理測試