- 集群可水平扩展,据官方文档称可以线性扩展到1000节点。
- 这里为了演示方便,主从会在同一台机器上。
1、启动实例
- 按照之前Cluster搭建方式,重新在新的一台机器上启动2个实例,1主1从。
2、加入节点
- 利用
redis-cli
工具增加主节点,第1个节点是需要新加入的主节点,第2个节点是既有集群中的任意1个节点。
/usr/local/redis/bin/redis-cli --cluster add-node 172.16.122.104:6379 172.16.122.101:6379

- 查看集群节点信息,这里也可以不进入
redis-cli
客户端去查看。
/usr/local/redis/bin/redis-cli -p 6379 cluster nodes

- 增加从节点。需要另外指定
--cluster-slave
、--cluster-master-id
以及主节点id参数。
/usr/local/redis/bin/redis-cli --cluster add-node 172.16.122.104:6380 172.16.122.101:6379 --cluster-slave --cluster-master-id 6ad45a1a6b276d487a927b9cb7b284edf1690e21

-
再次查看集群各节点信息。
再次查看
3、迁移槽位和数据
- 重新分配槽位。
# 最后填写集群中任意1个节点都行。
/usr/local/redis/bin/redis-cli --cluster reshard 172.16.122.101:6379

- 指定分配的槽位数量。
- 指定获取这些槽位的主节点id。
- 填写
all
表示要迁移的这些槽位由集群中原有的各个主节点平均分摊给新加入的主节点。 - 会有一次确认,输入yes即可,稍等一会槽位就会迁移到新的主节点上。
-
再次确认集群各节点信息,可以看到新加入的节点已经获得槽位了。
再次确认
-
至此,新加入的节点就可以开始正常工作了。
网友评论