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

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

環境

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

#創建集羣#

./redis-cli --cluster create 192.168.1.172:6379 192.168.1.172:6380 192.168.1.172:6381
5.0中redis-cli的集羣管理測試
查看所有槽已經均勻分配
5.0中redis-cli的集羣管理測試

#檢查集羣#

./redis-cli --cluster check 192.168.1.172:6379
5.0中redis-cli的集羣管理測試
查看集羣一切正常

#查看集羣key、slot、slave分佈信息#

./redis-cli --cluster info 192.168.1.172:6379
5.0中redis-cli的集羣管理測試

#在線遷移槽#

./redis-cli --cluster reshard 192.168.1.172:6379
選擇一個目標節點的id
源選擇all
5.0中redis-cli的集羣管理測試

#平衡各節點槽數量#

./redis-cli --cluster rebalance --cluster-threshold 1 192.168.1.172:6379
5.0中redis-cli的集羣管理測試
已平衡
5.0中redis-cli的集羣管理測試

#刪除集羣節點#

./redis-cli --cluster del-node 192.168.1.172:6379 b97cde23f3c1a1b13e42728562180355b985831a
這裏必須是沒有槽的節點,所以必須先移除槽,否則報如下錯誤
5.0中redis-cli的集羣管理測試
通過reshard遷移走槽後,刪除成功,並且關閉了該節點
5.0中redis-cli的集羣管理測試
5.0中redis-cli的集羣管理測試
被刪除的node重啓後,依然記得集羣中的其它節點,這是需要執行cluster forget nodeid來忘記其它節點

#添加集羣節點#

./redis-cli --cluster add-node 192.168.1.172:6379 192.168.1.172:6380
5.0中redis-cli的集羣管理測試
再平衡各節點slot數量
5.0中redis-cli的集羣管理測試

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

./redis-cli --cluster import 192.168.1.172:6379 --cluster-from 192.168.1.172:6382 --cluster-copy
5.0中redis-cli的集羣管理測試
Cluster-from後面跟外部redis的ip和port
如果只使用cluster-copy,則要導入集羣中的key不能在,否則如下:
5.0中redis-cli的集羣管理測試
如果集羣中已有同樣的key,如果需要替換,可以cluster-copy和cluster-replace聯用,這樣集羣中的key就會被替換爲外部的
5.0中redis-cli的集羣管理測試

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章