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:

  1. 使用CLUSTER RESET HARD重置;
  2. pkill所有redis服务,删除appendonly、dump、nodes文件;
  3. 重启redis服务,不要fix;
  4. 直接redis-cli --cluster create就能创建出3主3从

Q5:集群只能在虚机上连接,不能在别的机器上连接
A5:设置protected-mode no,并删除bind 127.0.0.1

posted @ 2024-01-23 10:00  如梦令x  阅读(43)  评论(0)    收藏  举报