设为首页 收藏本站

运维网

查看: 36|回复: 0

[经验分享] centos7 redis集群增减节点

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2018-11-1 17:47:10 | 显示全部楼层 |阅读模式
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.


运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

点击关注更多内容
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则  允许回帖邮件提醒楼主

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服 E-mail:kefu@yunvn.com

本站由青云提供云计算服务

运维网--中国最专业的运维工程师交流社区

京ICP备14039699号-1 Copyright © 2012-2018

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

Good good study day day up !


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


独家合作伙伴: 青云cloud

快速回复 返回顶部 返回列表