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的集群管理测试

猜你喜欢

转载自blog.51cto.com/8370646/2309693