Plantre Plantre
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

plantre

一个后端开发者
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 计算机组成原理

  • 操作系统

  • 计算机网络

  • 设计模式

  • Java

  • Spring

  • SpringCloud

  • MySQL

  • Redis

    • redis的槽

    • 集群搭建

      • redis3主3从搭建方式
      • redis3 主 3 从和哨兵模式什么区别
      • 修改集群
        • Redis Cluster 节点管理
        • 常用集群维护命令​
        • 一个项目有必要搭建多个redis集群吗,集群和集群之间什么关系
    • 分布式

    • Zookeeper

    • Dubbo

    • Kafka

    • 数据结构

    • 算法

    • OJ

    • 从道家哲学看计算机?
    • 后端
    • Redis
    • 集群搭建
    plantre
    2025-06-19
    目录

    修改集群

    Quest:

    b5d8e5dcc0d0e23082cf67bb6c9f4b0f04de733d 10.143.143.101:7000@17000 master - 0 1750212640496 0 connected
    9571af7c0cf7ed34d92a80a8b83cbaf0d613c58f 10.143.143.102:7002@17002 myself,master - 0 0 3 connected 5461-10922
    125cb6931175545975c72f8d753e4956595976b1 10.143.143.102:7003@17003 master - 0 1750212641000 7 connected 0-5460
    1746b54730d4eb896616c3d45950975030adb739 10.143.143.103:7005@17005 slave 9571af7c0cf7ed34d92a80a8b83cbaf0d613c58f 0 1750212641503 3 connected
    3bafc48b6d698674a51865bdab6be91a33aecb41 10.143.143.101:7001@17001 master - 0 1750212642000 8 connected
    ad2e7ec8c7f9e7d5c5cd36463d467e90ce57948f 10.143.143.103:7004@17004 master - 0 1750212642511 5 connected 10923-16383,把10.143.143.102:7003的槽分配到主节点10.143.143.101:7000,10.143.143.102:7002和10.143.143.103:7004保持不变,其他三个节点都变为从节点,并且主从不在一台机器上
    
    1
    2
    3
    4
    5
    6

    # 最终目标

    根据你的需求,调整后的集群结构如下:

    主节点 从节点 槽分配 规则
    10.143.143.101:7000 10.143.143.102:7003 0-5460 主从不在同一台机器
    10.143.143.102:7002 10.143.143.103:7005 5461-10922 主从不在同一台机器
    10.143.143.103:7004 10.143.143.101:7001 10923-16383 主从不在同一台机器

    # 操作步骤

    # 1. 将 10.143.143.102:7003 的槽(0-5460)迁移到 10.143.143.101:7000

    redis-cli --cluster reshard 10.143.143.101:7000
    
    1

    输入以下信息:

    • 迁移的槽数量:5461(因为 0-5460 共5461个槽)
    • 目标节点ID:b5d8e5dcc0d0e23082cf67bb6c9f4b0f04de733d(7000的节点ID)
    • 源节点ID:125cb6931175545975c72f8d753e4956595976b1(7003的节点ID)
    • 输入 done 完成迁移。

    # 2. 将 10.143.143.102:7003 从主节点降级为从节点

    # 连接到 7003 执行
    redis-cli -h 10.143.143.102 -p 7003 CLUSTER REPLICATE b5d8e5dcc0d0e23082cf67bb6c9f4b0f04de733d
    
    1
    2

    (b5d8... 是 7000 的节点ID)

    # 3. 将 10.143.143.101:7001 从主节点降级为从节点

    # 连接到 7001 执行
    redis-cli -h 10.143.143.101 -p 7001 CLUSTER REPLICATE ad2e7ec8c7f9e7d5c5cd36463d467e90ce57948f
    
    1
    2

    (ad2e... 是 7004 的节点ID)

    # 4. 确保 10.143.143.103:7005 复制 7002

    # 连接到 7005 执行
    redis-cli -h 10.143.143.103 -p 7005 CLUSTER REPLICATE 9571af7c0cf7ed34d92a80a8b83cbaf0d613c58f
    
    1
    2

    (9571... 是 7002 的节点ID)


    # 验证集群状态

    redis-cli --cluster check 10.143.143.101:7000
    
    1

    预期输出:

    10.143.143.101:7000 (b5d8e5dc...) -> 0-5460 (主)
       └─ 10.143.143.102:7003 (从, 跨机器)
    10.143.143.102:7002 (9571af7c...) -> 5461-10922 (主)
       └─ 10.143.143.103:7005 (从, 跨机器)
    10.143.143.103:7004 (ad2e7ec8...) -> 10923-16383 (主)
       └─ 10.143.143.101:7001 (从, 跨机器)
    
    1
    2
    3
    4
    5
    6

    # 关键点总结

    1. 槽迁移:将 7003 的槽 0-5460 迁移到 7000。
    2. 主从分离:
      • 7003 复制 7000(跨机器:102 → 101)
      • 7001 复制 7004(跨机器:101 → 103)
      • 7005 复制 7002(跨机器:103 → 102)
    3. 高可用保障:任意一台机器宕机,集群仍能正常工作。

    如果有其他问题,可以随时提供 CLUSTER NODES 的最新输出进一步调试!

    编辑 (opens new window)
    上次更新: 2025/06/24, 00:41:57
    redis3 主 3 从和哨兵模式什么区别
    Redis Cluster 节点管理

    ← redis3 主 3 从和哨兵模式什么区别 Redis Cluster 节点管理→

    最近更新
    01
    集成loki
    07-04
    02
    TCP的ESTABLISHED是什么意思
    06-24
    03
    安装1panel
    06-24
    更多文章>
    Theme by Vdoing | Copyright © 2025-2025 plantre | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式