Redis集群搭建与管理指南
yum install redis或apt install redis-server)或源码编译安装。修改每个节点的redis.conf文件,关键参数如下:
cluster-enabled yes:启用集群模式;cluster-config-file nodes-<port>.conf:指定集群配置文件路径(自动生成);cluster-node-timeout 5000:节点通信超时时间(毫秒);bind 0.0.0.0:允许远程连接;daemonize yes:后台运行;appendonly yes:开启AOF持久化(可选但推荐,保障数据安全)。在每个节点上执行以下命令启动Redis实例:
redis-server /path/to/redis.conf
通过redis-cli -h <IP> -p <port> ping验证节点是否启动成功(返回PONG表示正常)。
使用redis-cli工具初始化集群,将所有节点加入并分配主从角色:
redis-cli --cluster create \
<主节点1IP>:<端口> <主节点2IP>:<端口> <主节点3IP>:<端口> \
<从节点1IP>:<端口> <从节点2IP>:<端口> <从节点3IP>:<端口> \
--cluster-replicas 1
--cluster-replicas 1表示每个主节点关联1个从节点,命令会自动完成节点通信、槽位分配(16384个槽均匀分布)和主从复制。
连接任意节点,执行以下命令检查集群健康:
redis-cli -c -h <IP> -p <port> cluster nodes:查看节点列表、角色(master/slave)、槽位分配;redis-cli -c -h <IP> -p <port> cluster info:查看集群状态(如cluster_state:ok表示正常)。redis-cli --cluster add-node <新节点IP>:<端口> <现有节点IP>:<端口>
redis-cli --cluster reshard <现有节点IP>:<端口>
按提示输入迁移的槽数量和目标节点ID,逐步完成迁移。redis-cli --cluster reshard),再执行移除命令:redis-cli --cluster del-node <节点IP>:<端口> <节点ID>
注意:缩容前需确保集群有足够的主节点(至少3个)以维持高可用。redis-cli -h <主节点IP> -p <端口> cluster failover
redis-cli或第三方工具(如Prometheus+Grafana)监控以下指标:
BGSAVE命令生成RDB快照(避免影响主节点性能);appendonly yes),记录所有写操作,提高数据安全性。redis-cli --cluster rebalance调整),避免单个节点负载过高;JedisCluster、Python的redis-py-cluster),确保请求自动路由到正确节点。