第 7 篇 : Redis集群增加&&移除主、从节点

1. 新准备166和167两台机器,启动redis服务

1.1 安装redis6.0参考 第 4 篇 : 1主2从

1.2 配置集群redis参考 第 6 篇 : 3主3从

2. 新增166主节点和167从节点

加入集群时,新节点必须无任何数据

2.1 在166机器上操作,配置166节点

进入redis的安装目录,执行如下命令

             密码                     增加的新节点IP:port   集群中的节点IP:port
redis-cli -a root --cluster add-node 192.168.109.166:6379 192.168.109.160:6379

增加新节点命令
(可选操作)查看当前节点slots,0 slots

redis-cli -a root --cluster check 192.168.109.166:6379

查看当前节点slots
为当前节点分配slots,这里的数量可以随便写,但 rebalance 必须做

redis-cli -a root --cluster reshard 192.168.109.166:6379

分配4096个
此处输入的肯定是需要接收的节点ID,属于 IN 操作
节点ID
此处输入all,说明是从所有节点中抽出4096个slots给166,属于 OUT 操作,也可以输入指定的ID(例如160或161或162的ID),可以输入多个,最后输入done结束
总结 : 如果是新增主节点,输入all即可 ; 如果是移除主节点,需要输入移除的节点ID,再次输入done结束
从所有节点迁移
迁移计划
(必做)查看当前集群负载情况,权重大于2%会继续平衡slots

redis-cli -a root --cluster rebalance 192.168.109.160:6379

权重较大
(可选)再次执行上述命令,集群已达到负载均衡
集群负载均衡
再次查看166节点slots

redis-cli -a root --cluster check 192.168.109.166:6379

主节点均为4096

2.1 在167机器上操作,配置167节点

加入集群并进入redis客户端

redis-cli -a root --cluster add-node 192.168.109.167:6379 192.168.109.160:6379
redis-cli -a root

进入客户端后,cluster replicate 主节点ID

cluster replicate c2cb6942ab03e942a2cdb33692104ad72aa648f7
info replication

166主167从

3. 移除166主节点和167从节点

3.1 在167机器上移除从节点167

查看当前节点的ID

redis-cli -a root
cluster nodes
exit

退出客户端后,执行如下命令移除该节点

                            需要移除的节点IP:port  需要移除的节点ID
redis-cli -a root --cluster del-node 192.168.109.167:6379 f993985f23183704f72071d567a923ca9a18795f

移除从节点167
虽然该节点从集群中移除.但服务不会停止,角色也变成了master
移除167节点后的信息
关闭redis服务,并移除167虚拟机

redis-cli -a root -p 6379 shutdown

3.2 在在166机器上移除主节点166

重新分片主节点的slots

redis-cli -a root --cluster reshard 192.168.109.166:6379

迁移4096到161上
迁移到161上
从166移出

yes

查看166节点slots,0 slots,161是8192 slots

redis-cli -a root --cluster check 192.168.109.166:6379

移除4096个后集群slots情况
(必做)负载均衡当前集群

redis-cli -a root --cluster rebalance 192.168.109.160:6379
redis-cli -a root --cluster check 192.168.109.166:6379

集群再次slots均衡
此时,可以移除主节点166

redis-cli -a root --cluster del-node 192.168.109.166:6379 c2cb6942ab03e942a2cdb33692104ad72aa648f7
redis-cli -a root --cluster check 192.168.109.160:6379

成功移除主节点166
关闭redis服务,并移除166虚拟机

redis-cli -a root -p 6379 shutdown
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈哈兽0026

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值