通过cluster reshard实现Redis集群缩减节点实战【详细步骤】

本文详述了在新冠疫情导致成本压缩背景下,如何操作Redis集群进行节点缩减。首先通过`redis-cli --cluster check`命令检查节点状态,然后使用`redis-cli --cluster reshard`交互式迁移slot,逐步将slot从不再需要的节点迁移至其他节点,确保集群负载均衡。在完成迁移后,关闭多余节点,并使用`cluster forget`命令从集群中移除已关闭节点的信息,确保集群正常运行。在整个过程中,需要注意节点间的slot分配和集群一致性。

 今年由于新冠疫情的影响,可能很多同学都被公司要求压缩服务器成本。这两天,公司领导把小眼睛瞟到笔者开发环境里那个可怜的redis集群上。好吧,那么我们就来操作一下缩减redis集群。

查看cluster nodes

使用redis-cli --cluster check命令来查看节点信息。

$ redis-cli --cluster check 192.168.1.195:6379 -a xxxxxxx
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.1.195:6379 (414f2b74...) -> 37651 keys | 3277 slots | 0 slaves.
192.168.1.195:6679 (e7a768fa...) -> 37614 keys | 3277 slots | 0 slaves.
192.168.1.195:6479 (1edda72f...) -> 37486 keys | 3277 slots | 0 slaves.
192.168.1.195:6579 (24671149...) -> 37639 keys | 3276 slots | 0 slaves.
192.168.1.195:6779 (f9b6419c...) -> 37489 keys | 3277 slots | 0 slaves.
[OK] 187879 keys in 5 masters.
11.47 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.1.195:6379)
M: 414f2b745d2614a7a2bb592ca4d54febf550d3a9 192.168.1.195:6379
   slots:[0-3276] (3277 slots) master
M: e7a768faf1d1b6139f4a6192285329a5888b8381 192.168.1.195:6679
   slots:[9830-13106] (3277 slots) master
M: 1edda72f1e5771a433a2c450cb9f5f555149fc63 192.168.1.195:6479
   slots:[3277-6553] (3277 slots) master
M: 2467114902a123079ca83e48642edbd7df0281ff 192.168.1.195:6579
   slots:[6554-9829] (3276 slots) master
M: f9b6419cf22315108872b81f7d3e76df8b0036e8 192.168.1.195:6779
   slots:[13107-16383] (3277 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

命令参数说明 

参数 说明
--cluster 集群操作命令
check 检查集群信息子命令
192.168.1.195:6379 ip地址和端口,有多个节点的话只需提供其中一个节点就行。
-a xxxxx 密码

可以看到目前有5个master节点,没有slave节点,所有的slot都已经覆盖。

开始reshard,把端口号为6679和6779两个节点的slot平均地迁移到其他3个节点上。

使用reshard命令的交互模式,我们先从6679移动2184个slot到6579上。以下是交互过程:

问:你要迁移多少个slot,回答2184。

问:接收这些slot的节点id,复制6579那个节点的id。

问:迁出slot的节点,可以提供多个,最后一个填“done"。复制6679的节点id,回车,然后在source node #2那里填done。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值