-
搭建环境:Rokcy Linux 9 虚拟机三台
集群搭建要求至少6个节点,但由于物理机性能有限,故虚拟三台虚拟机环境,每个环境对应一个主节点+从节点。用不同的redis端口区分,机器环境,a,b,c三台机器对应ip如下- a: 192.168.1.29
- b: 192.168.1.30
- c: 192.168.1.31
-
Redis编译安装
从官网下载对应源码即可,本文使用7.0.11作为演示,redis安装需要编译安装,用a机器作为环境编译,编译前安装相关依赖- 依赖安装
yum -y install wget gcc gcc-c++ make
- 源码下载
wget https://download.redis.io/releases/redis-7.0.11.tar.gz
- 解压
tar -zxvf /home/redis-7.0.11.tar.gz
- 编译(cd到解压目录中执行)
make
- 安装到指定目录
make install PREFIX=/usr/local/redis
- 复制/home/redis-7.0.11/src到/usr/local/redis目录下
cp -r /home/redis-7.0.11/src /usr/local/redis
- 依赖安装
-
编写配置文件
备份目录/usr/lcoal/redis/bin
中的配置文件redis.conf
,在redis目录下新建两个文件夹,用于存放当前机器Master
节点和Slave
节点。以端口名作为文件夹存放集群,易于区分,将redis配置文件分别复制一份存于文件夹下,目录结构如图。
- 目录结构
- 编写配置文件,以端口3679为例
# 关闭保护模式,用于公网访问
protected-mode no
port 3679
# 开启集群模式
cluster-enabled yes
cluster-config-file nodes-3679.conf
cluster-node-timeout 5000
# 后台启动
daemonize yes
pidfile /var/run/redis_3679.pid
logfile 3679.log
# dir /redis/data
# 此处绑定ip,可以是阿里内外ip和本地ip,也可以直接注释掉该项
# bind 127.0.0.1
# 用于链接主节点密码
masterauth 123456
# 设置redis密码,各个节点请保持一致
requirepass 123456
- 复制Redis安装目录至其他虚拟机,这里以b机器为例,输入以下命令,回车输入虚拟机密码即可
scp -r /usr/local/redis root@192.168.1.30:/usr/local/
-
放开防火墙端口(三台及其均需执行)
- 放开 6379及6380
firewall-cmd --zone=public --add-port=6379-6380/tcp --permanent
- 放开 16379及16380
firewall-cmd --zone=public --add-port=16379-16380/tcp --permanent
- 重启防火墙生效
firewall-cmd --reload
- 放开 6379及6380
-
创建启动集群
- 分别启动各个机器的redis,包含Master及Slave
- Master
/usr/local/redis/bin/redis-server /usr/local/redis/6379/redis.conf
- Slave
/usr/local/redis/bin/redis-server /usr/local/redis/6380/redis.conf
- Master
- 创建集群
/usr/local/redis/bin/redis-cli --cluster create -a 123456 192.168.1.29:6379 192.168.1.29:6380 192.168.1.30:6379 192.168.1.30:6380 192.168.1.31:6379 192.168.1.31:6380 --cluster-replicas 1
打印如下日志即搭建成功
- 分别启动各个机器的redis,包含Master及Slave