记一次redis cluster delete node失败

简介:

1、6611 的 slot 5731 move失败。 redis-cluster在reshard时失败,提示信息如下:
All nodes agree about slots configuration.

Check for open slots...
Node 172.28.192.84:6430 has slots in importing state (5731).

Node 172.28.192.98:6611 has slots in migrating state (5731).
The following slots are open: 5731
Check slots coverage...
All 16384 slots covered.
Please fix your cluster problems before resharding

slot 5731由于reshard失败,在6430上显示正在import,6611上显示正在migrate。
redis cluster在reshard、rebalance等操作时会执行check_cluster方法检查集群是否健康,只有健康的集群才能进行迁移。
此时无法再继续reshard,需要先fix修复集群,通过下面命令:
redis-trib.rb fix 172.28.192.84:6424
修复完成后,再继续执行reshard即可。
那为何会出现slot migrate失败,查看172.28.192.98:6611 节点的redis.log信息,有如下报错
Moving slot 5731 from 172.28.192.98:6611 to 172.28.192.84:6430:
[ERR] IOERR error or timeout reading to target instance

Performing Cluster Check (using node 172.28.192.84:6430)

迁移过程中遇到超时错误“[ERR] Calling MIGRATE: IOERR error or timeout reading to target instance”,导致只完成部分,可能会造成数据丢失。
如果迁移的slots数量多,应当设置redis-trib.rb的超时参数--timeout值大一点,该参数默认是60s。(变更脚本中未设置,使用的默认值)

2、已经执行过del_node下线的节点,在clusternodes中还显示handshake或者fail,分析是节点移除异常。需要手动执行 forget {downnodeid} 移除cluster nodes中的信息。

3、应用无法再造数据,我这边正在跟开发沟通,确定下次再缩容前,应用数据已落地,或应用可接受数据丢失。

目录
相关文章
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
915 2
|
NoSQL Java 网络安全
SpringBoot启动时连接Redis报错:ERR This instance has cluster support disabled - 如何解决?
通过以上步骤一般可以解决由于配置不匹配造成的连接错误。在调试问题时,一定要确保服务端和客户端的Redis配置保持同步一致。这能够确保SpringBoot应用顺利连接到正确配置的Redis服务,无论是单机模式还是集群模式。
868 5
|
存储 运维 NoSQL
Redis Cluster集群模式部署
Redis Cluster集群模式部署
478 4
|
存储 监控 负载均衡
redis 集群 (主从复制 哨兵模式 cluster)
redis 集群 (主从复制 哨兵模式 cluster)
|
存储 NoSQL 算法
深入理解Redis分片Cluster原理
本文深入探讨了Redis Cluster的分片原理,作为Redis官方提供的高可用性和高性能解决方案,Redis Cluster通过数据分片和横向扩展能力,有效降低单个主节点的压力。
深入理解Redis分片Cluster原理
|
存储 负载均衡 监控
redis 集群模式(redis cluster)介绍
redis 集群模式(redis cluster)介绍
|
缓存 NoSQL 网络协议
【Azure Redis 缓存】Azure Redis Cluster 在增加分片数时失败分析
【Azure Redis 缓存】Azure Redis Cluster 在增加分片数时失败分析
230 0
|
缓存 NoSQL Redis
【Azure Redis 缓存】Windows版创建 Redis Cluster 实验 (精简版)
【Azure Redis 缓存】Windows版创建 Redis Cluster 实验 (精简版)
331 0
NPM——Electron failed to install correctly, please delete node_modules/electron and try
NPM——Electron failed to install correctly, please delete node_modules/electron and try
2186 0
|
NoSQL Redis
Redis——单机迁移cluster集群如何快速迁移
Redis——单机迁移cluster集群如何快速迁移
746 0