Debian 上搭建与管理 Redis 集群
一 环境准备与规划
二 安装与配置
# 创建目录
sudo mkdir -p /opt/redis-cluster/7000
# 生成配置
sudo tee /opt/redis-cluster/7000/redis.conf >/dev/null <<'EOF'
port 7000
bind 0.0.0.0
daemonize yes
dir /opt/redis-cluster/7000
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
logfile /opt/redis-cluster/7000/redis.log
EOF
三 启动与创建集群
for p in {7000..7005}; do
redis-server /opt/redis-cluster/$p/redis.conf
done
# 验证
ps -ef | grep redis-server
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 确认分片与副本分配
redis-cli -c -p 7000 cluster info
redis-cli -c -p 7000 cluster nodes
redis-cli --cluster check 127.0.0.1:7000
四 日常管理常用操作
redis-cli --cluster check <任一节点IP:端口>
redis-cli --cluster reshard \
--cluster-from <all|节点ID或all> \
--cluster-to <新主节点ID> \
--cluster-slots 1000 \
--cluster-yes \
<任一节点IP:端口>
# 添加为新主
redis-cli --cluster add-node <新主IP:端口> <任一现有节点IP:端口>
# 添加为从节点并指定复制的主节点ID
redis-cli --cluster add-node <新从IP:端口> <任一现有节点IP:端口> --cluster-slave --cluster-master-id <主节点ID>
redis-cli --cluster del-node <任一节点IP:端口> <待删除节点ID>
五 客户端连接与注意事项
redis-cli -c -p 7000
spring:
redis:
cluster:
nodes:
- 192.168.1.10:7000
- 192.168.1.10:7001
- 192.168.1.10:7002
- 192.168.1.11:7003
- 192.168.1.11:7004
- 192.168.1.11:7005
max-redirects: 3
password: your_password # 如启用
timeout: 3000
lettuce:
pool:
max-active: 16
max-idle: 8
min-idle: 4
max-wait: 2000