5.0中redis-cli的集群管理测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.0中redis-cli的集群管理测试相关的知识,希望对你有一定的参考价值。
集群管理工具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的集群管理测试的主要内容,如果未能解决你的问题,请参考以下文章
Redis 5.0 redis-cli --cluster help说明