错误描述
在迁移一个节点上的slot到另一个节点的时候卡在其中的一个slot报错,截图如下:
查询发现在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 本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。 《欢迎交流讨论》 |