准备节点

Redis Cluster 集群至少需要 6 个节点才能保证完整的高可用集群。并且每个节点需要开启配置 cluster-enabled yes

建议集群内所有节点统一目录,一般划分为三个目录:conf、data、log,对应的分别存放配置、数据和日志文件。
**

配置信息

将 6 个配置统一放到 conf 目录下,集群相关配置如下(其他配置与单机模式一致即可,配置名:redis-{port}.conf):

  1. # 节点端口
  2. port 6379
  3. # 开启集群模式
  4. cluster-enabled yes
  5. # 集群节点超时时间,单位:毫秒
  6. cluster-node-timeout 15000
  7. # 集群内部配置文件
  8. cluster-config-file "nodes-6379.conf"

启动节点

  1. redis-server conf/redis-6379.conf
  2. redis-server conf/redis-6380.conf
  3. redis-server conf/redis-6381.conf
  4. ...
  5. redis-server conf/redis-6384.conf

查看节点日志是否正确,日志内容如下:

  1. cat log/redis-6379.log
  2. * No cluster configuration found, I'm cfb28ef1deee4e0fa78da86abe5d24566744411e
  3. # Server started, Redis version 3.0.7
  4. * The server is now ready to accept connections on port 6379

节点启动成功,第一次启动,如果没有集群配置文件,会自动创建一份,文件名称采用 cluster-config-file 参数控制(所以,建议采用 node-{$port}.conf 格式去命名。
如果启动存在配置文件,节点会直接使用配置文件内容进行初始化集群信息。

image.png

节点握手

分配槽

使用 redis-trib.rb 搭建集群