网易首页 > 网易号 > 正文 申请入驻

redis cluster 集群管理工具

0
分享至

前言

在redis源码编译的时候,在src目录下会有一个redis-trib.rb的脚本,这个脚本是ruby写的,用于管理redis cluster。

安装系统依赖包

yum -y install epel-release

yum -y install ruby rubygem-redis

redis-trib.rb

/opt/redis/bin/redis-trib.rb

查看一下帮助

Usage: redis-trib <command> <options> <arguments ...>

create host1:port1 ... hostN:portN

--replicas <arg>

check host:port

info host:port

fix host:port

--timeout <arg>

reshard host:port

--from <arg>

--to <arg>

--slots <arg>

--yes

--timeout <arg>

--pipeline <arg>

rebalance host:port

--weight <arg>

--auto-weights

--use-empty-masters

--timeout <arg>

--simulate

--pipeline <arg>

--threshold <arg>

add-node new_host:new_port existing_host:existing_port

--slave

--master-id <arg>

del-node host:port node_id

set-timeout host:port milliseconds

call host:port command arg arg .. arg

import host:port

--from <arg>

--copy

--replace

help (show this help)

For check, fix, reshard, del-node, set-timeout you can specify the host and port of any working node in the cluster.

从上面可以知道redis-trib.rb具有以下功能:

create:创建集群 --replicas可以指定从节点个数

check:检查集群

info:查看集群信息

fix:修复集群

reshard:在线迁移slot

rebalance:平衡集群节点slot数量

add-node:将新节点加入集群

del-node:从集群中删除节点

set-timeout:设置集群节点间心跳连接的超时时间

call:在集群全部节点上执行命令

import:将外部redis数据导入集群

常用例子

1、create创建集群:create命令可选replicas参数,replicas表示需要有几个slave。

/opt/redis/bin/redis-trib.rb create --replicas 1 127.0.0.1:8001 127.0.0.1:8002 127.0.0.1:8003 127.0.0.1:8004 127.0.0.1:8005 127.0.0.1:8006

2、info查看集群:info命令用来查看集群的信息。info命令也是先执行load_cluster_info_from_node获取完整的集群信息。

/opt/redis/bin/redis-trib.rb info 127.0.0.1:8001

3、check检查集群:检查集群状态的命令,没有其他参数,只需要选择一个集群中的一个节点即可。

/opt/redis/bin/redis-trib.rb check 127.0.0.1:8001

4、fix修复集群:fix命令的流程跟check的流程很像,显示加载集群信息,然后在check_cluster方法内传入fix为

true的变量,会在集群检查出现异常的时候执行修复流程。目前fix命令能修复两种异常,一种是集群有处于迁移中的slot的节点,一种是slot未完全分配的异常。

/opt/redis/bin/redis-trib.rb fix 127.0.0.1:8001

5、reshard在线迁移slot:reshard命令可以在线把集群的一些slot从集群原来slot负责节点迁移到新的节点,利用reshard可以完成集群的在线横向扩容和缩容。

/opt/redis/bin/redis-trib.rb reshard 127.0.0.1:8001

(然后根据提示操作就可以了,也可以根据参数直接设置完成)

6、rebalance平衡集群节点slot数量:rebalance命令可以根据用户传入的参数平衡集群节点的slot数量,rebalance功能非常强大,可以传入的参数很多。

host:port:这个是必传参数,用来从一个节点获取整个集群信息,相当于获取集群信息的入口。

--weight :节点的权重,格式为node_id=weight,如果需要为多个节点分配权重的话,需要添加多个–weight 参数,即--weight a44dd3ede3f=5 --weight 8e60b3a1=5,node_id可为节点名称的前缀,只要保证前缀位数能唯一区分该节点即可。没有传递–weight的节点的权重默认为1。

--auto-weights:这个参数在rebalance流程中并未用到。

--threshold :只有节点需要迁移的slot阈值超过threshold,才会执行rebalance操作。具体计算方法可以参考下面的rebalance命令流程的第四步。

--use-empty-masters:rebalance是否考虑没有节点的master,默认没有分配slot节点的master是不参与rebalance的,设置--use-empty-masters可以让没有分配slot的节点参与rebalance。

--timeout :设置migrate命令的超时时间。

--simulate:设置该参数,可以模拟rebalance操作,提示用户会迁移哪些slots,而不会真正执行迁移操作。

--pipeline :与reshar的pipeline参数一样,定义cluster getkeysinslot命令一次取出的key数量,不传的话使用默认值为10。

/opt/redis/bin/redis-trib.rb rebalance --threshold 1 127.0.0.1:8001

7、add-node将新节点加入集群:add-node命令可以将新节点加入集群,节点可以为master,也可以为某个master节点的slave。

--slave:设置该参数,则新节点以slave的角色加入集群

--master-id:这个参数需要设置了–slave才能生效,–master-id用来指定新节点的master节点。如果不设置该参数,则会随机为节点选择master节点。

/opt/redis/bin/redis-trib.rb add-node --slave --master-id b12f7ab5c229fdf817aa7b5a4c534463ce223c62 127.0.0.1:8007

8、del-node从集群中删除节点:del-node可以把某个节点从集群中删除。del-node只能删除没有分配slot的节点。

/opt/redis/bin/redis-trib.rb del-node 127.0.0.1:8001 7ec63a08d2355448d16a84b502974832c52359e1

9、set-timeout设置集群节点间心跳连接的超时时间:set-timeout用来设置集群节点间心跳连接的超时时间,单位是毫秒,不得小于100毫秒,因为100毫秒对于心跳时间来说太短了。

/opt/redis/bin/redis-trib.rb set-timeout 127.0.0.1:8001 30000

10、call在集群全部节点上执行命令:call命令可以用来在集群的全部节点执行相同的命令。call命令也是需要通过集群的一个节点地址,连上整个集群,然后在集群的每个节点执行该命令。

/opt/redis/bin/redis-trib.rb call 127.0.0.1:8001 get key

11、import将外部redis数据导入集群:import命令可以把外部的redis节点数据导入集群。

总结

redis cluster集群有了这个脚本就轻松多了,不需要通过redis-cli一个个操作。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
阿根廷总统抛出“电锯式改革”,要再裁7万政府雇员!劳工组织称将大罢工

阿根廷总统抛出“电锯式改革”,要再裁7万政府雇员!劳工组织称将大罢工

红星新闻
2024-03-27 19:53:01
猪队友!大S律师被张兰投诉,盛怒下说露嘴,汪小菲所说竟是真的

猪队友!大S律师被张兰投诉,盛怒下说露嘴,汪小菲所说竟是真的

花花lo先森
2024-03-28 16:11:37
触底反弹?蔡斌指导女排有变化,张常宁成核心,放弃朱婷迫不得已

触底反弹?蔡斌指导女排有变化,张常宁成核心,放弃朱婷迫不得已

忠橙家族
2024-03-28 07:37:58
终于有人把越吃越健康的碱性食物,整理出来了,看完涨知识。

终于有人把越吃越健康的碱性食物,整理出来了,看完涨知识。

荷兰豆爱健康
2024-03-26 17:27:16
乌克兰总统与美国众议院议长通话 呼吁美众议院在援乌问题上统一立场

乌克兰总统与美国众议院议长通话 呼吁美众议院在援乌问题上统一立场

财联社
2024-03-29 01:20:35
姚明女儿又胖了!14岁身高190体重超近200斤,网友:这谁敢娶?

姚明女儿又胖了!14岁身高190体重超近200斤,网友:这谁敢娶?

吃瓜局
2024-03-27 15:26:58
普京对中方发布禁令,故土恢复中国名字,俄:希望与中印频繁接触

普京对中方发布禁令,故土恢复中国名字,俄:希望与中印频繁接触

绝对军评
2024-03-29 00:08:14
另谋高就!曝哈维将接手英超土豪!4员大将离开巴萨,换1.8亿欧

另谋高就!曝哈维将接手英超土豪!4员大将离开巴萨,换1.8亿欧

头狼追球
2024-03-28 15:25:32
青岛力克北控3连胜巩固第七 杨瀚森32+12+4+5帽创生涯纪录

青岛力克北控3连胜巩固第七 杨瀚森32+12+4+5帽创生涯纪录

醉卧浮生
2024-03-28 21:54:00
辽宁四川球迷又互骂了?辽篮为何到哪都挨骂:这个群体居功至伟

辽宁四川球迷又互骂了?辽篮为何到哪都挨骂:这个群体居功至伟

篮球快餐车
2024-03-29 01:25:29
菲律宾前总统阿罗约:菲律宾政府和人民不想要战争,中国对我们非常重要

菲律宾前总统阿罗约:菲律宾政府和人民不想要战争,中国对我们非常重要

环球网资讯
2024-03-28 14:20:47
日本作家直言:莫言在小说中写的侵华日军,我们读起来感觉很舒服

日本作家直言:莫言在小说中写的侵华日军,我们读起来感觉很舒服

西斋青简
2024-03-26 13:55:03
重庆三姐妹相亲,男子一眼相中小妹,网友:老大才好

重庆三姐妹相亲,男子一眼相中小妹,网友:老大才好

一份深读
2024-03-28 21:03:53
暴徒刚认罪,俄专机直飞北京,普京想要的答案,中方给的很爽快

暴徒刚认罪,俄专机直飞北京,普京想要的答案,中方给的很爽快

阿宇观天下
2024-03-28 15:12:39
一生缺钱的三大生肖,与财富绝缘,苦日子接连不断!

一生缺钱的三大生肖,与财富绝缘,苦日子接连不断!

历史星空回望
2024-03-16 15:27:38
小米 SU7 车型拥有 32 个收纳位,自带 1/4 螺纹口支持手机支架

小米 SU7 车型拥有 32 个收纳位,自带 1/4 螺纹口支持手机支架

IT之家
2024-03-28 19:35:21
性生活互吻私处,真的健康吗?

性生活互吻私处,真的健康吗?

徐海洋的历史故事
2024-02-19 14:43:47
我采访了50个剩女,发现没“碰过”男人的女人都有一个共同性。

我采访了50个剩女,发现没“碰过”男人的女人都有一个共同性。

户外阿崭
2024-03-28 11:31:56
中方打法变了!不再警告直接出手,24小时内,消息迅速传遍全球

中方打法变了!不再警告直接出手,24小时内,消息迅速传遍全球

星辰故事屋
2024-03-27 23:07:15
证监会“壮士断腕”!今日晚间的四大消息冲击来袭

证监会“壮士断腕”!今日晚间的四大消息冲击来袭

逆潮流财经
2024-03-28 20:47:23
2024-03-29 05:00:49
linux运维菜
linux运维菜
喜欢使用Linux!
412文章数 4575关注度
往期回顾 全部

科技要闻

李斌李想何小鹏喊你买小米汽车

头条要闻

小米汽车7分钟大定破2万 网友:这价格真可以杀穿同行

头条要闻

小米汽车7分钟大定破2万 网友:这价格真可以杀穿同行

体育要闻

邮报:加入争夺战,曼联也想要奥尔莫

娱乐要闻

莱昂纳多与25岁新女友互相投喂超恩爱

财经要闻

中国版QE要来?国内外机构观点罕见一致

汽车要闻

混动增程双模式 长安UNI-Z售11.79万起

态度原创

旅游
艺术
数码
家居
军事航空

旅游要闻

在广西不洗澡,是不是犯了天条啊?

艺术要闻

艺术开卷|从闺阁、庭院到郊野,古画中的女性生活空间

数码要闻

联想:AMD MI300加速卡卖爆了!

家居要闻

邂逅浪漫,注入柔性的法式基因

军事要闻

乌方声称击落两枚俄"锆石"高超音速导弹 俄方未予回应

无障碍浏览 进入关怀版