centos7 redis集群增减节点

redis现在集群环境:

192.168.2.41 7000 7001 

192.168.2.42 7002 7003

192.168.2.43 7004 7005

 

经过变更之后的集群环境:

192.168.2.41 7000 7001 

192.168.2.42 7000 7001 

192.168.2.43 7000 7001 

 

且各台的7000为master,7001是各台机器7000的slave

 

1、删除slave节点

查看集群信息

# redis-trib.rb check 192.168.2.41:7000

 

slave节点可以直接删除

命令

redis-trib.rb del-node IP:PORT ID

 

# redis-trib.rb del-node 192.168.2.41:7001 a123f3ec62c8367f396a1fef8ae9c6c0ac413d96

# redis-trib.rb del-node 192.168.2.42:7003 17d25af071d0f5508e2d3bfae9d6b4322ad2f5f5

# redis-trib.rb del-node 192.168.2.43:7005@17005 eb2b9276976ea162473f8ce00b2c8c35785721c9

 

2、删除master节点

删除master节点需要首先把其上slots进行转移

 

这里的192.168.2.41的master节点不进行删除,删除集群中的其他两个master

 

首先要把192.168.2.42:7002和192.168.2.43:7004的slots转移到192.168.2.41:7000上

 

查看集群信息,可以查看到节点有多少slots,有多少就需要转移多少

 

命令:

redis-trib.rb reshard IP:PORT

 

# redis-trib.rb reshard 192.168.2.42:7002

How many slots do you want to move (from 1 to 16384)? 5461

What is the receiving node ID? 9226e25993d0e6cc75600bb6ad21f01090746fd7

Source node #1:4bd00c217e74513f202982458f5fb699771dee55

Source node #2:done

 

说明:

第一个为要转移的slots的个数,按实际情况填写

第二个为要转移到的节点的节点id

第三个为要转移slots的节点的节点id

 

# redis-trib.rb reshard 192.168.2.43:7004

 

删除两个master节点

# redis-trib.rb del-node 192.168.2.42:7002 4bd00c217e74513f202982458f5fb699771dee55

# redis-trib.rb del-node 192.168.2.43:7004 1b13f21a02938c739f29dcd803886379054bf793

 

3、修改配置文件

修改删除的四个节点的配置文件

分别是

192.168.2.42:7002

192.168.2.42:7003

192.168.2.43:7004

192.168.2.43:7005

 

以192.168.2.42:7002为例

# cd /usr/local/redis-4.0.11/cluster

# mv 7002 7000

# mv 7003 7001 

 

# sed -i 's/7002/7000/g' 7000/redis.conf

# sed -i 's/7003/7001/g' 7001/redis.conf

 

其他三个节点以此类推做修改

 

4、启动服务

192.168.2.41

# redis-server /usr/local/redis-4.0.11/cluster/7001/redis.conf

 

192.168.2.42

# redis-server /usr/local/redis-4.0.11/cluster/7000/redis.conf

# redis-server /usr/local/redis-4.0.11/cluster/7001/redis.conf

 

192.168.2.43

# redis-server /usr/local/redis-4.0.11/cluster/7000/redis.conf

# redis-server /usr/local/redis-4.0.11/cluster/7001/redis.conf

 

5、增加master节点

命令:

redis-trib.rb add-node ADD-NODEIP:PORT ADD-TO-NODEIP:PORT

 

# redis-trib.rb add-node 192.168.2.42:7000 192.168.2.41:7000

# redis-trib.rb add-node 192.168.2.43:7000 192.168.2.41:7000

 

6、增加slave节点

命令:

redis-trib.rb add-node --slave SLAVENODEIP:PORT MASTERNODEIP:PORT

 

# redis-trib.rb add-node --slave 192.168.2.41:7001 192.168.2.41:7000

# redis-trib.rb add-node --slave 192.168.2.42:7001 192.168.2.42:7000

# redis-trib.rb add-node --slave 192.168.2.43:7001 192.168.2.43:7000

 

7、转移slots到其他两个新增的master

 

查看集群信息

# redis-trib.rb check 192.168.2.41:7000

>>> Performing Cluster Check (using node 192.168.2.41:7000)

M: 9226e25993d0e6cc75600bb6ad21f01090746fd7 192.168.2.41:7000

   slots:10922-16383 (5462 slots) master

   1 additional replica(s)

S: b79bf8001cff43a5df16b285ecbc9caccf8b12ef 192.168.2.41:7001

   slots: (0 slots) slave

   replicates 9226e25993d0e6cc75600bb6ad21f01090746fd7

M: 174b6d42aa784e69a3104f6f06574919cb69d7d8 192.168.2.42:7000

   slots:0-5460 (5461 slots) master

   1 additional replica(s)

S: a06342821949f7d666fe5d7b5b64d4573c33c8ea 192.168.2.42:7001

   slots: (0 slots) slave

   replicates 174b6d42aa784e69a3104f6f06574919cb69d7d8

M: 5fb1b9ca8da83af089fa8f022abf13d2041d6d60 192.168.2.43:7000

   slots:5461-10921 (5461 slots) master

   1 additional replica(s)

S: b5ef76db06606ffb36cd3ee22570dfd7e14c5a33 192.168.2.43:7001

   slots: (0 slots) slave

   replicates 5fb1b9ca8da83af089fa8f022abf13d2041d6d60

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值