Redis-Cluster 动态增加主从节点

1:首先使用trib的check命令检查下集群当前的节点状态

redis-trib.rb check xxx:6380

2:新增两个节点配置文件。(cp现有集群节点配置文件)

cd /usr/local/src/redis-3.2.4/redis_cluster/
cp -r 6380.conf  6386.conf
cp -r 6380.conf  6387.conf
2.1:修改两个几点配置文件
  • 注意修配置改文件的port,log,pid,集群配置文件名
2.2:启动节点。

3:添加主节点

redis-trib.rb add-node xxx:6386 xxx:6380

xxx:6386是新增节点
xxx:6380是任意一个集群老节点

使用trib的check命令检查节点状态,可以看出刚刚添加的是M主节

4:添加从节点

redis-trib.rb add-node --slave --master-id 2b7bb3be16460f2e0848c69cef3acc68f655a041 xxx:7007 xxx:7006

--slave,添加从节点.
--master-id,主节点id

使用trib的check命令检查节点状态,可以看出刚刚添加的是S从节点

给新的主节点重新分配slots,默认刚刚新增的主节点是没有slots的,这样在存取数据的时候不会被选择

redis-trib.rb reshard xxx:6386
How many slots do you want to move (from 1 to 16384)? 2000(分配插槽数)
What is the receiving node ID? ea72ebfdb78a6ffa8c89e09dc1626795373589bf (新主节点id)
Source node #1:all   //all表示从所有主节点中转移2000个哈希槽
Do you want to proceed with the proposed reshard plan (yes/no)? yes  //确认分配 

最后使用trib的check命令检查节点状态,可以看到之前slots为0现在已经分配了

Redis-Cluster 动态增加主从节点_第1张图片

你可能感兴趣的:(运维基础)