Start Redis Cluster

2020-07-15  本文已影响0人  RoyTien

redis 集群配置、启动
want to run redis-server in background nonstop
Creating and using a Redis Cluster

已知信息

  1. Redis verison >= 5.0
  2. 启动 Redis 命令 ./src/redis-server 「前端启动」
  3. 将启动 Redis 方式改为「后端启动」,将 redis.conf 中的 daemonize no 改为 daemonize yes

必备知识

  1. Redis 集群至少需要 3 个节点,因为投票容错机制要求超过半数节点认为某个节点挂了,该节点才是挂了,因此 2 个节点无法构成集群。(两个节点的集群,一个没反应,一个认为第一个挂了,只有 50%,没有超过半数...)
  2. 要保持集群高可用,需要每个节点都有从节点(备份节点),因此 Redis 集群至少需要 6 台服务器。(非强制)

Redis 集群设定

我们假定 Redis 集群的 3 台节点 port 分别为 7001, 7002, 7003

具体操作

  1. redis 目录下创建目录 redis_cluster
redis-5.0.3 >> mkdir redis_cluster
  1. redis_cluster 目录下创建目录 7001, 7002, 7003
redis_cluster >> mkdir 7001 7002 7003
  1. redis 目录下的 redis.conf 复制到 redis_cluster/[port]/conf
redis-5.0.3 >> cp redis.conf redis_cluster/7001/conf/
  1. 将各个 redis_cluster/[port]/conf/redis.conf 中的以下字段修改
port 7002  # [port]
daemonize yes
cluster-enabled yes
cluster-config-file nodes-7002.conf  # [port]
cluster-node-timeout 5000
appendonly yes
  1. 启动各个节点
redis-5.0.3 >> ./src/redis-server redis_cluster/7003/conf/redis.conf
  1. 启动 Redis Cluster,使用 --cluster-replicas 意味着从节点数为 1
./src/redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003
# ./src/redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 --cluster-replicas 1

错误

有可能会出现错误信息

[ERR] Node 127.0.0.1:7000 is not empty ...

解决方法:删除 node-xxx.conf 配置文件,删除 pid 文件,删除各节点 .aof, .rdb 文件,kill 所有 redis 进程,重启 redis 集群。

上一篇下一篇

猜你喜欢

热点阅读