从零搭建 Redis Cluster

适用场景

需要水平扩展、分片和高可用的 Redis 集群。至少 3 主 3 从,适合缓存和会话等可接受分片的数据。

前置条件

步骤

  1. 配置每个节点的 redis.conf:
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
appendonly yes
bind 0.0.0.0
protected-mode yes
requirepass secret
masterauth secret
  1. 启动所有实例:
redis-server /etc/redis/redis.conf
  1. 创建集群:
redis-cli --cluster create \
  10.0.0.1:6379 10.0.0.2:6379 10.0.0.3:6379 \
  10.0.0.4:6379 10.0.0.5:6379 10.0.0.6:6379 \
  --cluster-replicas 1 -a secret
  1. 验证:
redis-cli -c -a secret -h 10.0.0.1 cluster info
redis-cli -c -a secret -h 10.0.0.1 cluster nodes
redis-cli --cluster check 10.0.0.1:6379 -a secret
  1. 测试故障切换:
redis-cli -c -a secret -h 10.0.0.1 DEBUG sleep 20
redis-cli -c -a secret -h 10.0.0.2 cluster nodes
  1. 配置监控(集群状态、槽位、延迟、内存)和告警。

验证

回滚/重建

常见坑

相关命令