第28章:集群运维实战
28.1 集群扩容
bash
# 1. 启动新节点(cluster-enabled yes)
# 2. 加入集群
redis-cli --cluster add-node 新节点IP:6379 现有节点IP:6379
# 3. 重新分片(迁移槽到新节点)
redis-cli --cluster reshard 现有节点IP:6379
# 按提示输入:迁移多少槽、目标节点ID、源节点ID28.2 集群缩容
bash
# 1. 先把槽迁走
redis-cli --cluster reshard 要下线的节点IP:6379
# 2. 删除节点
redis-cli --cluster del-node 集群IP:6379 节点ID28.3 故障模拟
bash
# 模拟 Master 宕机
redis-cli -p 6379 DEBUG SLEEP 30 # 挂起30秒
# 观察:CLUSTER NODES → Slave 自动提升为 Master
# 原 Master 恢复后 → 自动变为新 Master 的 Slave28.4 健康检查
bash
# 检查集群状态
redis-cli --cluster check 127.0.0.1:6379
# 输出:
# 16384 slots OK
# 3 masters, 3 replicas
# All nodes agree about slots configuration.本章小结
- 扩容:add-node + reshard
- 缩容:迁移槽 → del-node
- 故障:Slave 自动提升为 Master
- 定期
--cluster check健康检查
练习题
- 模拟集群扩容:加 1 主 1 从,迁移槽。
- 模拟 Master 宕机,观察自动故障转移。