集群主机信息
此配置集群事例,将在三台服务器上各起两个redis实例,主从关系如下表:
| 主机名 | IP地址 | 角色 | 端口 |
|---|---|---|---|
| vm1 | 192.168.0.118 | master | 6379 |
| vm2 | 192.168.0.120 | slave | 6380 |
| vm2 | 192.168.0.120 | master | 6379 |
| vm3 | 192.168.0.121 | slave | 6380 |
| vm3 | 192.168.0.121 | master | 6379 |
| vm1 | 192.168.0.118 | slave | 6380 |
系统初化
配置主机名与IP映射
修改所有主机/etc/hosts文件,添加主机名与IP的映射关系。如下图: 
同步系统时间与关闭防火墙
同步系统时间需要先安装ntpdate,使用命令yum install -y ntpdate。安装完成后使用命令ntpdate -q 0.cn.pool.ntp.org同步系统时间。如下图: 
然后使用命令systemctl disable firewalld && systemctl stop firewalld关闭防火墙
禁用SELinux
1 | setenforce 0 |
安装Redis
下载源码安装包并解压到安装目录和编译
1 | wget https://download.redis.io/releases/redis-6.2.5.tar.gz |
将redis-cli文件复制到/usr/local/bin/
1 | cp src/redis-cli /usr/local/bin/ |
修改redis.conf配置文件
由于是同一主机上开启两个实例,所有需要分别为实例创建数据存放目录。
1 | mkdir /usr/local/redis-6.2.5/{data-6379,data-6380} # 数据目录 |
主节点配置文件主要修改如下内容,其它使用默认配置:
1 | bind 0.0.0.0 |
从节点配置在主节点的基础上修改如下内容,其它跟主节点一样:
1 | port 6380 |
配置systemd服务
在/usr/lib/systemd/system/目录下新建redis.service文件,内容如下:
vim /usr/lib/systemd/system/redis.service
1 | [Unit] |
启动redis服务
在每台服务器上分别启动redis服务,使用如下命令:
1 | sudo systemctl daemon-reload |
查看启动状态
使用systemctl status redis查看状态,如下图状态表明redis基础服务启动成功。 
配置Redis Cluster
在集群中的一台服务器上运行如下命令创建集群:
1 | ./redis-cli --cluster create 192.168.0.118:6379 192.168.0.120:6380 192.168.0.120:6379 192.168.0.121:6380 192.168.0.121:6379 192.168.118:6380 --cluster-replicas 1 |
结果如下图:

查看集群主从关系
在集群中的其中一台服务器(如在6379这个实例)上运行如下命令,返回结果如下图:
1 | ./redis-cli -p 6379 cluster nodes |
