Redis集群搭建
[!info] 参考
知乎:Redis集群的原理和搭建,一文带你详解
CSDN: redis集群搭建、Redis 集群模式与哨兵模式:详细对比与实例解析
1. 搭建脚本
# 连接
redis-cli -c -h xxx.xxx.xxx.xxx -p 8004 -a password
# 状态检查
./bin/redis-cli -a password --cluster check xxx.xxx.xxx.xxx:8000
# 集群状态检查
./bin/redis-cli -h xxx.xxx.xxx.xxx -p 8000 -a password -c cluster info
# 修复节点
./bin/redis-cli -a password --cluster fix xxx.xxx.xxx.xxx:8000
# 创建集群
/usr/local/redis/bin/redis-cli --cluster create xxx.xxx.xxx.xxx:8000 xxx.xxx.xxx.xxx:8001 xxx.xxx.xxx.xxx:8002 xxx.xxx.xxx.xxx:8003 xxx.xxx.xxx.xxx:8004 xxx.xxx.xxx.xxx:8005 --cluster-replicas 1 -a password
# 重置
./bin/redis-cli -c -h xxx.xxx.xxx.xxx -p 8000 -a password CLUSTER RESET HARD
# 停止
pkill redis-server
2. Q&A
Q1:使用redis-cli --cluster create后没有反应
A1:fix各个节点,然后再创建集群
Q2:check后报错:[ERR] Not all 16384 slots are covered by nodes.
A2:./bin/redis-cli -a password --cluster fix xxx.xxx.xxx.xxx:8000
Q3:连接后,只能访问当前节点,不能访问集群,报错:由于目标计算机积极拒绝,无法连接
A3:redis-cli --cluster create不能使用本地ip127.0.0.1,需要直接使用虚机的外网ip
Q4:创建3主3从结果分配成了1主5从
A4:
- 使用CLUSTER RESET HARD重置;
- pkill所有redis服务,删除appendonly、dump、nodes文件;
- 重启redis服务,不要fix;
- 直接redis-cli --cluster create就能创建出3主3从
Q5:集群只能在虚机上连接,不能在别的机器上连接
A5:设置protected-mode no,并删除bind 127.0.0.1
浙公网安备 33010602011771号