第一步:准备环境,下载Redis 6.x版本,解压到本地目录,比如/usr/local/redis。然后创建6个目录作为节点:mkdir -p /usr/local/redis-cluster/{7000,7001,7002,7003,7004,7005}。每个目录复制redis.conf进去,修改端口和cluster-enabled yes。
网友分享1
单机伪装集群最简单方法:用docker-compose一键部署。创建docker-compose.yml:
version: '3'
services:
redis-7000:
image: redis:6.2
command: redis-server /usr/local/etc/redis/redis.conf
ports:
- 7000:7000
volumes:
- ./7000/redis.conf:/usr/local/etc/redis/redis.conf
类似配置其他节点。docker-compose up -d 就行了,超级快。
网友分享2
手动搭建步骤:1. 编辑每个redis.conf:port 7000,cluster-enabled yes,cluster-config-file nodes.conf,cluster-node-timeout 5000,appendonly yes。2. 依次启动:redis-server 7000/redis.conf。3. 用redis-cli创建集群:redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1。Yes后就建好了。
网友分享3
我用这个方法单机跑了3主3从,测试SET GET都正常。注意防火墙别挡端口,单机ip全用127.0.0.1。集群info查状态,CLUSTER NODES看节点信息。简单到爆,10分钟上手。
网友分享4
脚本一键搞定,保存为setup.sh:
#!/bin/bash
for port in {7000..7005}; do
mkdir -p redis-cluster/$port/conf
cp redis.conf redis-cluster/$port/conf/
sed -i "s/^port .*/port $port/" redis-cluster/$port/conf/redis.conf
sed -i "s/^# cluster-enabled .*/cluster-enabled yes/" redis-cluster/$port/conf/redis.conf
done
chmod +x setup.sh && ./setup.sh。启动后redis-cli --cluster create ...
网友分享5
常见坑:cluster-require-full-coverage no 加进去,避免单节点挂全崩。pidfile也改成对应端口。测试连redis-cli -c -p 7000 -a password如果有密码。网友都说这法子稳,生产开发都行。
网友分享6
验证集群:redis-cli -c -p 7000,CLUSTER INFO看cluster_state:ok,cluster_slots_assigned:16384。SET key value,redis-cli -c -p 7001 GET key 能拿到,哈希槽分好了。
FAQ
Q: 单机集群有啥用?
A: 开发测试用,模拟多节点环境,学习集群运维,不用多机成本。
Q: 怎么销毁重建?
A: 杀进程,删nodes.conf和appendonly.aof,重新create。
Q: 支持哨兵吗?
A: 这个是原生集群模式,哨兵和高可用另外配,不混用。
Q: 端口冲突咋办?
A: 改conf里port和外网映射,7000-7005别被占。