按照教程中创建集群方式创建集群:
./src/redis-trib.rb create --replicas 1 192.168.2.106:8001 192.168.2.106:8002 192.168.2.106:8003 192.168.2.106:8004 192.168.2.106:8005 192.168.2.106:8006
现在需要将192.168.2.106:8002节点中的slot全部迁移到192.168.2.106:8001节点,执行如下命令:
./src/redis-trib.rb reshard 192.168.2.106:8002
结果出错如下:
[ERR] Calling MIGRATE ERR Syntax error, try CLIENT (LIST | KILL | GETNAME | SETNAME | PAUSE | REPLY)
解决方法:
ruby gem安装的redis库,版本不能使用最新的4.0,否则redis-trib.rb reshard 192.168.2.106:8002 重新分片时会报错误。
1、卸载最新redis库,gem uninstall redis
2、安装3.x版本,gem install redis -v 3.3.5 测试3.2.1到3.3.5都可以,4.x以上的分片报错