修改集群
  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
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
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
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
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
2
3
4
5
6
# 关键点总结
- 槽迁移:将 
7003的槽0-5460迁移到7000。 - 主从分离:
7003复制7000(跨机器:102 → 101)7001复制7004(跨机器:101 → 103)7005复制7002(跨机器:103 → 102)
 - 高可用保障:任意一台机器宕机,集群仍能正常工作。
 
如果有其他问题,可以随时提供 CLUSTER NODES 的最新输出进一步调试!
编辑  (opens new window)
  上次更新: 2025/06/24, 00:41:57