Redis问题汇总

经常会碰到一些问题,现汇总起来,方便后继查看

问题一.为节点指定Master时报如下错误

longwentaodeMacBook-Pro:src longwentao$ ./redis-cli -p 9002
127.0.0.1:9002> CLUSTER REPLICATE 66631a38941a913f55a14bb079d5d3aa03366def
(error) ERR To set a master the node must be empty and without assigned slots.
127.0.0.1:9002> 

上面的错误是不能为一个非空并且分配了slot的主节点继续添加从节点
解决办法:将主从节点置空并且清除为其指定的slots

longwentaodeMacBook-Pro:src longwentao$ ./redis-trib.rb reshrd 127.0.0.1:9001
Unknown redis-trib subcommand 'reshrd'
longwentaodeMacBook-Pro:src longwentao$ ./redis-trib.rb reshard 127.0.0.1:9001
>>> Performing Cluster Check (using node 127.0.0.1:9001)
M: 66631a38941a913f55a14bb079d5d3aa03366def 127.0.0.1:9001
   slots:0-5460 (5461 slots) master
   0 additional replica(s)
M: ef0d833215bfae1e01154e4255988565aaee201b 127.0.0.1:9003
   slots:10923-16383 (5461 slots) master
   0 additional replica(s)
M: a98eeb51619465d056d60f44aaa9c10a48a1161a 127.0.0.1:9002
   slots:5461-10922 (5462 slots) master
   0 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
How many slots do you want to move (from 1 to 16384)? 5461--全部转移
What is the receiving node ID? a98eeb51619465d056d60f44aaa9c10a48a1161a--转移到哪个节点上
Source node #2:done

按如上操作,再将从节点的数据转移到另一个主节点上

如果还有问题,将odes.conf,dump.rdb文件都删除,删除后,slots Hash槽的数据就为0了(一般不建议这么干),重新启动节点,并将节点加入到集群中,再用redis-cli连接到当前节点上,使用如下命令将节点指定为从节点

127.0.0.1:9003> CLUSTER REPLICATE 66631a38941a913f55a14bb079d5d3aa03366def
OK

猜你喜欢

转载自blog.csdn.net/kity9420/article/details/53870898