在介绍完Redis集群分区规则后,我们将开始搭建Redis集群。搭建Redis集群的方式有几种:
1)手动按照Redis协议搭建,使用cluster meet
、cluster addslots
、cluster replicate
等命令。
2)在Redis 5.0之前,可以使用由Ruby语言编写的redis-trib.rb
工具,但使用之前需要安装Ruby语言环境。
3)Redis 5.0及以后版本摒弃了redis-trib.rb
,将集群搭建功能合并到了redis-cli
中。
我们选择使用第三种方式来搭建,至少需要三个节点来构成集群,而官方推荐的配置是三主三从,我们也将采用这种配置。
节点配置
我们规定主节点的端口为6900、6901、6902,从节点的端口为6930、6931、6932。首先,我们需要为每个节点配置相应的conf文件。所有节点的配置文件都是类似的,我们以端口为6900的节点为例:
port 6900
# 多个Redis服务在同一台机器上运行时,需要修改相关资源
pidfile /var/run/redis_6900.pid
logfile "/home/lijin/redis/redis/log/6900.log"
dir "/home/lijin/redis/redis/data/"
dbfilename dump-6900.rdb
# 集群配置
daemonize yes
cluster-enabled yes
cluster-config-file nodes-6900.conf
cluster-node-timeout 15000
appendonly yes
appendfilename "appendonly-6900.aof"
上述配置中,集群相关的配置如下:
cluster-enabled yes
:启用集群模式。cluster-node-timeout 15000
:设置集群节点超时时间,单位为毫秒。cluster-config-file nodes-6900.conf
:指定集群节点的配置文件,这个文件由Redis节点创建和更新,每个节点需要不同的配置文件。appendonly yes
:启用AOF持久化。
我们需要为每个节点创建类似的配置文件,并修改端口号、文件路径等。
集群创建
创建随机主从节点集群
./redis-cli --cluster create 127.0.0.1:6900 127.0.0.1:6901 127.0.0.1:6902 127.0.0.1:6930 127.0.0.1:6931 127.0.0.1:6932 --cluster-replicas 1
--cluster-replicas 1
表示每个主节点都会有一个从节点。尽管这种方式简单,但不能手动指定主从节点。