標籤:get redis 功能 替換 成功 方式 clust .com node
叢集管理工具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的叢集管理測試