Redis学习笔记七——向集群节点添加、删除和分配slot

上边文章讲了如何搭建redis集群,这边文章讲集群节点的添加、删除和重新分配slot。

1、添加节点

添加节点:redis-trib.rb add-node 192.168.72.100:7006 192.168.72.100:7005 

前面的IP加端口号是要添加的redis节点,后面的IP和端口号是集群中的任意一个节点。


2、为节点分配slot

为节点分配slot:redis-trib.rb reshard 192.168.72.100:7006

添加之后,分配之前节点slot的情况分配之后节点slot情况


3、添加从节点

添加从节点:redis-trib.rb add-node 192.168.72.100:7007 192.168.72.100:7005

和上面情况类似,添加之后用redis-cli 登陆新添加的节点,然后执行设置主节点
设置主节点:cluster replicate 578d27842e8da87f89f14c73faf8f5bbe2f9ed85(对应master的nodeID)

4、删除集群节点

先删除主节点的情况
删除集群主节点
删除集群主节点之前要先将其上面的slot分配到其他主节点上
重新分配slot:redis-trib.rb reshard 192.168.72.100:7006
删除主节点:redis-trib.rb del-node 192.168.72.100:7006 578d27842e8da87f89f14c73faf8f5bbe2f9ed85

可以看到删除之后原来主节点的从节点自动变为其他主节点的从节点了(可以试验一下,观察一下该从节点与移动的slot有什么关系)
删除从节点
删除从节点:redis-trib.rb del-node 192.168.72.100:7007 4e3c459e26040f49b51dce8fdae5cb571b066ff0

先移除从节点的情况

先删除从节点

删除从节点:redis-trib.rbdel-node 192.168.72.100:7007 4e3c459e26040f49b51dce8fdae5cb571b066ff0



再删除主节点
重新分配slot:redis-trib.rb reshard 192.168.72.100:7006

然后再删除主节点
删除主节点:redis-trib.rb del-node 192.168.72.100:7006 578d27842e8da87f89f14c73faf8f5bbe2f9ed85


一般建议的如果要移除主节点,先将从节点移除,避免出错。


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis Cluster 是 Redis 的分布式解决方案,可以将数据分散存储在不同的节点上,以提高性能和可扩展性。在 Redis Cluster 中,每个节点负责一部分位(slot)的存储和处理。 要新增一个节点,并进行位的分配,我们需要执行以下步骤: 1. 启动一个新的 Redis 节点,配置文件中要指定集群模式,并确保其他节点也都开启了集群模式。 2. 在一个已经运行的节点上执行 CLUSTER MEET 命令,将新节点加入到集群中。命令格式为 CLUSTER MEET <ip> <port>,其中 <ip> 和 <port> 分别是新节点的 IP 地址和端口号。 3. 新节点加入集群后,其他节点会自动感知到这个变化,它们会进行重新的分配。每个节点会负责同时管理一些旧位和新位。 4. 为了保持集群的平衡,可以使用 CLUSTER REBALANCE 命令来手动执行位的重新分配。这个命令会将不均匀分布的位重新分配节点,使得集群中每个节点管理的位数尽量接近。 要删除一个节点,并重新分配位,我们需要执行以下步骤: 1. 首先,将要删除节点设置为故障状态。可以使用 CLUSTER FORGET 命令从其他节点中移除它。命令格式为 CLUSTER FORGET <node_id>,其中 <node_id> 是要删除节点的 ID。 2. 接下来,进行位的重新分配Redis Cluster 会自动进行位的再平衡。每个存活的节点都会参与位的重新分配,以保持集群的平衡。 需要注意的是,新增和删除节点时,Redis Cluster 会自动进行位的重新分配,不需要手动操作。在节点加入或离开集群后,其他存活节点会按照一定的规则重新分配位,以确保数据的平衡和高可用性。如果发生数据迁移,Redis Cluster 会自动处理数据的同步和恢复。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值