如果要添加的新节点是一个主节点, 那么我们需要创建一个空节点(empty node), 然后将某些哈希桶移动到这个空节点里面。
另一方面, 如果要添加的新节点是一个从节点, 那么我们需要将这个新节点设置为集群中某个节点的复制品(replica)
一,添加主节点
1.redis-trib.rb add-node 127.0.0.1:6383 127.0.0.1:6380 (将 127.0.0.1:6383 节点添加到 127.0.0.1:6380所在集群里)
这个时候 6383节点已经在集群中,默认是主几点。。但是没有分配slot槽,不能保存数据。
两个特点
新节点没有包含任何数据, 因为它没有包含任何哈希桶。
尽管新节点没有包含任何哈希桶, 但它仍然是一个主节点, 所以在集群需要将某个从节点升级为新的主节点时, 这个新节点不会被选中。
2.对集群进行重新分片
redis-trib.rb reshard 127.0.0.1:6383
3.将6483节点以相同的方法加入到集群中,默认依然是主节点。
4.进入6483客户端,调用cluster replicate nodeId 将改节点指定从属与nodeId节点
以上水平扩展节点完成