错误描述

在迁移一个节点上的slot到另一个节点的时候卡在其中的一个slot报错,截图如下:

 Redis Cluster [WARNING] Node 127.0.0.1:7003 has slots in migrating state (15495). Nosql

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

查询发现在15495的这个slot上面存在一个key,但是并没有发现这个key有什么问题。使用fix进行修复也还是不行。

解决办法1:

修复迁移节点

redis-trib.rb fix 127.0.0.1:7003

再执行check,如果没有报错继续迁移

解决办法2:登入提示错误的两个节点执行以下清除命令

cluster setslot 15495 stable

解决办法3:

删除15495这个slot上的key再执行fix修复

del key

redis-trib.rb fix 127.0.0.1:7003

注意:如果通过上面的方法处理过后还是会报错,那就有可能是默认gem安装的redis-4.0.0的问题,需要安装老一点版本的gem,redis-3.2.2.gem的链接下载地址如下:

https://rubygems.global.ssl.fastly.net/gems/redis-3.2.2.gem 

安装方法:

gem install redis-3.2.2.gem  

卸载方法

gem uninstall redis-4.0.0.gem  

 

 

 

 

 

 

备注:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。

《欢迎交流讨论》

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄