快速部署步骤:1. 准备6台服务器,安装Redis 7.0+版本。2. 编辑redis.conf,设置cluster-enabled yes,cluster-config-file nodes.conf,cluster-node-timeout 5000。3. 启动所有节点:redis-server redis.conf。4. 创建集群:redis-cli --cluster create 192.168.1.101:6379 192.168.1.102:6379 192.168.1.103:6379 192.168.1.104:6379 192.168.1.105:6379 192.168.1.106:6379 --cluster-replicas 1。5. 测试:redis-cli -c -h 192.168.1.101 -p 6379,set key1 value1,get key1。
环境准备
我们使用6台CentOS 7.9服务器,IP分别为192.168.1.101~106,每台2核4G。关闭防火墙:systemctl stop firewalld.service,selinux=disabled。安装gcc、tcl:yum install gcc tcl。下载Redis:wget http://download.redis.io/releases/redis-7.0.12.tar.gz,解压编译安装make && make install。
配置Redis集群模式
每个节点复制一份redis.conf,修改端口6379/6380/6381等,bind 0.0.0.0,protected-mode no,daemonize yes,cluster-enabled yes,cluster-config-file nodes-6379.conf,cluster-node-timeout 15000,appendonly yes。
启动所有节点并创建集群
分别启动:redis-server /root/redis-7.0.12/redis6379.conf。使用redis-cli创建:redis-cli --cluster create --cluster-replicas 1 192.168.1.101:6379 192.168.1.101:6380 192.168.1.102:6379 192.168.1.102:6380 192.168.1.103:6379 192.168.1.103:6380。输入yes确认。
验证集群状态
连接集群:redis-cli -c -h 192.168.1.101 -p 6379,cluster info,cluster nodes。可以看到16384个槽分布在主从节点,高可用架构就搭建好了!
常见故障处理
如果节点丢失:redis-cli --cluster add-node 新IP:端口 现有主节点IP:端口。如果槽迁移:redis-cli --cluster reshard。扩容时逐步添加节点并rebalance。
生产环境优化
开启AOF持久化,设置cluster-require-full-coverage no,避免部分故障全挂。监控工具用Prometheus+Grafana,结合Sentinel备用方案。
FAQ
Q: Redis集群需要几台机器?
A: 至少3主3从,共6台,确保高可用。
Q: 忘记密码怎么加节点?
A: 用-A参数:redis-cli -a 密码 --cluster add-node。
Q: 集群如何扩容?
A: 先add-node,再reshard迁移槽位。
Q: 主节点挂了怎么处理?
A: 从节点自动 failover,无需手动干预。