上篇文章我们讲了 Redis 集群的搭建与节点的动态添加和删除,我们这里再来简单的复习一下,其中 30001~30006 是我们最初搭建的集群,而 30007 和 30008 是后面动态添加的主从节点,我们使用 --cluster info
命令来看一下主节点和槽位的分配情况,执行代码如下:
$ redis-cli --cluster info 127.0.0.1:30001
127.0.0.1:30001 (887397e6...) -> 0 keys | 5461 slots | 1 slaves.
127.0.0.1:30007 (df019085...) -> 0 keys | 0 slots | 1 slaves.
127.0.0.1:30003 (f5958382...) -> 0 keys | 5461 slots | 1 slaves.
127.0.0.1:30002 (3da35c40...) -> 0 keys | 5462 slots | 1 slaves.
[OK] 0 keys in 4 masters.
0.00 keys per slot on average.
可以看出动态添加的主节点 30007 有一个从节点,但并没有分配任何槽位,这显然是不能满足我们的需求的,只添加了节点,但不处理任何数据,所以我们需要重新分片,让数据存储在所有的主节点上,这样才能发挥集群的最大作用。
重新分片
我们可以使用 resha