学习
实践
活动
专区
工具
TVP
写文章

Redis的slot迁移

官方参考:https://redis.io/commands/cluster-setslot。示例:将值为8的slot从源节点A迁移到目标节点B。 1) 在目标节点B上执行,从节点A导入slot到节点B: CLUSTER SETSLOT 8 IMPORTING src-A-node-id 对于迁移的slot,正常访问返回MOVED;但如果在正常访问之前先执行 2) 在源节点A上执行,将节点A上的slot迁移到节点B CLUSTER SETSLOT 8 MIGRATING dst-B-node-id 命令“SETSLOT slot MIGRATING”将 4) 完成迁移 上述操作只是将slot标记为迁移状态,完成迁移还需要执行(在源node和目标node上执行),将slot指派给dst-node-id指定的节点: CLUSTER SETSLOT “NODE”命令中的dst-node-id为目标节点的Node ID,取消迁移和导入使用“CLUSTER SETSLOT STABLE”。

1.7K20
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Redis 的 MOVED 转向与 ASK 转向

    所谓的集群在线重配置就是 slot 的迁移,下面是用于 slot 迁移的命令: CLUSTER ADDSLOTS slot1 [slot2] … [slotN] — 指派槽位到节点 CLUSTER DELSLOTS slot1 [slot2] … [slotN] — 从节点移除槽位 CLUSTER SETSLOT slot NODE node — 设置槽位到某节点 CLUSTER SETSLOT slot MIGRATING node — 将槽 slot 迁移出当前节点,移入 node 节点 CLUSTER SETSLOT slot IMPORTING node — 接受从 node 节点迁移出的槽位 slot 前面的命令很好理解 ,只有最后的两条命令需要详细解释: 假设我们在 A 节点执行: CLUSTER SETSLOT 866 MIGRATING B 同时,我们在 B 节点执行: CLUSTER SETSLOT 866 IMPORTING 参考资料 https://redis.io/topics/cluster-spec。 https://redis.io/commands/cluster-setslot

    36610

    Redis-3.2.9集群配置(redis cluster

    需要显示有节点处于migrating或importing状态,可以登录到相应的节点,使用命令“cluster setslot 5461 stable”修改,参数5461为问题显示的slot的ID。 The following slots are open: 5461 可以使用redis命令取消slots迁移(5461为slot的ID): cluster setslot 5461 stable 需要注意 CLUSTER SETSLOT slot NODE nodeCLUSTER SETSLOT slot MIGRATING nodeCLUSTER SETSLOT slot IMPORTING node 迁移slosts 示例:将slot8从节点A迁移到节点B,有如下两种方法: 在节点B上执行:CLUSTER SETSLOT 8 IMPORTING A或在节点A上执行:CLUSTER SETSLOT 8  MIGRATING B 上述操作只是将slot标记为迁移状态,完成迁移还需要执行: CLUSTER SETSLOT  NODE 其中node-id为目标的Node ID。

    1.3K20

    RedisCluster 如何迁移数据

    主要分为两步 槽迁移计划 迁移数据 槽迁移计划 迁移数据 我们按照一个槽来举例,主要分为下面几个步骤 对目标节点执行命令,让目标节点准备导入槽的数据 2.对源节点执行命令,让源节点准备迁出槽的数据 cluster setslot <slot> migrating <target_node_id> 3.源节点循环执行命令,获取到count个数据槽的数据 cluster getkeysinslot <slot> < migrate <target_Ip> <target_port> key 0 <timeout> 5.重复执行3,4步骤直到槽下的数据到目标节点 6.向集群中的其他主节点执行命令,通知槽已经分配给了目标节点 cluster setslot <slot> node <target_node_id> 整体流程如下 前面有介绍过手动迁移槽的过程,但是过程繁琐,容易出错,所以我们也可以用redis-cli自动迁移槽 redis-trib.rb

    33520

    redis cluster原理详解_redis cluster原理

    CLUSTER SETSLOT slotNum NODE nodeId —— 给指定ID的节点指派槽,一般迁移完成后在各主节点上执行,告知各主节点迁移完成。 CLUSTER SETSLOT slotNum IMPORTING sourceNodeId —— 在槽迁移的目标节点上执行该命令,意思是这个槽将由原节点迁移至当前节点,迁移过程中,当前节点(即目标节点 CLUSTER SETSLOT slotNum MIGRATING targetNodeId —— 在槽迁移的原节点上执行该命令,意思是这个槽将由当前节点迁移至目标节点,迁移过程中,当前节点(即原节点) 在整个slot的key迁移完成后,需要在各主节点分别执行CLUSTER SETSLOT slotNum NODE nodeId来通知整个slot迁移完成。 Redis Cluster在给主节点添加从节点时,不支持slaveof命令,而是通过在从节点上执行命令cluster replicate masterNodeId 。

    11020

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 云托付物理服务器

      云托付物理服务器

      云托付物理服务器是将客户自有服务器托管到云机 房的裸金属产品,由腾讯云提供机架、网络、云原生及全量带外能力。使用该产品,客户在将服务器托付给腾讯云后,获取物理服务器的时间将被缩短至分钟级,同时无缝使用云上产品,可帮助客户更专注于业务能力。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券