Redis学习 集群扩容(十七)

这也是分布式存储最常见的需求,当我们存储不够用时,要考虑扩容

扩容步骤如下:

准备好新节点

Redis学习 集群扩容(十七)

加入集群,迁移槽和数据

Redis学习 集群扩容(十七)

同目录下新增redis6382.conf、redis6392.conf

启动两个新redis节点

./redis-server clusterconf/redis6382.conf &  (新主节点)

./redis-server clusterconf/redis6392.conf &   (新从节点)

新增主节点

./redis-trib.rb add-node 192.168.42.111:6382 192.168.42.111:6379  

6379是原存在的主节点,6382是新的主节点

添加从节点

redis-trib.rb add-node --slave --master-id 03ccad2ba5dd1e062464bc7590400441fafb63f2 192.168.42.111:6392 192.168.42.111:6379  

    --slave,表示添加的是从节点

    --master-id 03ccad2ba5dd1e062464bc7590400441fafb63f2表示主节点6382的master_id

    192.168.42.111:6392,新从节点

    192.168.42.111:6379集群原存在的旧节点

redis-trib.rb reshard 192.168.42.111:6382   //为新主节点重新分配solt

How many slots do you want to move (from 1 to 16384)? 1000 //设置slot数1000

What is the receiving node ID? 464bc7590400441fafb63f2 //新节点node id

Source node #1:all //表示全部节点重新洗牌

新增完毕!