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

Redis 5.0 redis-cli --cluster help说明

Redis 集群管理常见操作

redis-cli.py python redis-cli redis管理终端

redis cluster集群批量删除中的key

使用 redis-cli 搭建 Redis 集群