修改集群
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