redis集群扩容

步骤:

1.假设已经存在集群,该集群包含三个主节点(8000/8001/8002),三个从节点( 8003/8004/8005)


2. 如何查看集群信息 

[plain]  view plain  copy
  1. ./redis-cli -c -p 8000 cluster nodes  


3.启动两个新的redis实例(8006/8007),计划将8006设置为新增的主节点


4.将新的主节点8006添加到集群里面

[plain]  view plain  copy
  1. ./redis-trib.rb add-node 127.0.0.1:8006 127.0.0.1:8000  



5.查看集群信息,发现节点已经添加,但是并没有分配slot



6.给新增的节点8006增加slave

注:需要注意f83c86fd7d3c25bde47e0461ffa709ea62eb12ef是8006的run id

[plain]  view plain  copy
  1. ./redis-trib.rb add-node --slave --master-id f83c86fd7d3c25bde47e0461ffa709ea62eb12ef 127.0.0.1:8006 127.0.0.1:8000  


再次查看,发现8007已经成为了8006的slave


7.给新增8006的node划分slot

a) 重新分配slot

[plain]  view plain  copy
  1. ./redis-trib.rb reshard 127.0.0.1:8006  


b) 屏幕提示:希望移动多少个slot,这里建议取节点平均数,假设我输入4096

c) 屏幕提示:希望把slot搬到哪里,这里输入8006的run id

d) 屏幕提示:希望从哪里移动slot到8006,这里输入all,选择从所有的节点搬迁1000个slot到8006

e) 屏幕提示:输入yes确认搬迁

f)  搬迁完毕后,通过客户端查看 cluster nodes,4096个slot已经搬迁至8006新节点


问:扩容期间集群是否正常服务

答:这个测试案例中,客户端未见异常,可能是并发太低的原理,实际应用上,客户端要做好容错机制。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值