前言
环境要求
- Redis版本:7.0.12
- 系统环境:Centos 7
- 用户权限:普通用户
gcc
编译器:必须
若没有
gcc -v
提示-bash: gcc: command not found
,则表示没有安装gcc
。可以参考我的另一篇博文# CentOS离线一键安装gcc(附安装包+脚本),进行
gcc
的安装
集群规模
本文默认的集群搭建规模如下表所示:
服务器 | 示例IP | 端口 |
---|---|---|
node1 | 10.0.0.1 | 8379, 8380 |
node2 | 10.0.0.2 | 8379, 8380 |
node3 | 10.0.0.3 | 8379, 8380 |
即三主三从,部署在三台服务器上的redis集群。 当然具体是几主几从,部署到几台服务器上,是可以在下面执行脚本时自己选择决定。
资源下载
使用教程
-
上传下载到的
redis_7.0.12_install.tar
到指定的三台服务器node1
、node2
、node3
中。若你需要将redis集群部署到6台不同的服务器上,则需要上传tar包到6台服务器上。
-
在三台服务器
node1
、node2
、node3
上的资源包同级目录下,分别执行以下命令:shelltar -xvf redis_7.0.12_install.tar && cd redis_7.0.12_install && ./install.sh /opt/module/redis 8379 8380
/opt/module/redis
:redis安装根目录路径8379
:redis在此服务器上的第一个节点端口8380
:redis在此服务器上的第二个节点端口
关于
install.sh
脚本说明:install.sh
命令模板范例:./install.sh [redis_dir] [port1 port2 ...]
- 若还需要在此服务器上部署第三个、第四个redis,继续追加
port
参数即可。一个port
参数,对应此服务器上的一个redis节点服务。 - 如果想要部署redis到6台不同的服务器上,则执行上面的命令到6台不同的服务器上即可。构成6主6从的redis集群。
- 若想一台服务器一个redis节点,同6个节点,6个服务器。则需要在6台服务器的资源包同级目录下执行命令
tar -xvf redis_7.0.12_install.tar && redis_7.0.12_install/install.sh /opt/module/redis 8379
-
将各个节点加入到redis集群中
bash# 进入到redis安装目录 cd /opt/module/redis # 执行加入redis节点的命令 yes yes | ./bin/redis-cli --cluster create 10.0.0.1:8379 10.0.0.1:8380 10.0.0.2:8379 10.0.0.2:8380 10.0.0.3:8379 10.0.0.3:8380 --cluster-replicas 1 -a admin123456
创集群的命令,命令最后的admin123456是设置的认证密码,-replicas 1的意思是每台redis服务器有一个备份机,执行完此命令后,该脚本会自动为这6个redis实例分配主从和槽。 如果你想自己指定节点的主从对应关系,可以参考# Redis集群指定主从关系及动态增删节点
-
登录任意一台服务器节点,执行以下命令,验证集群状态:
shell# 进入到redis安装目录 cd /opt/module/redis # 验证redis集群状态及信息 ./bin/redis-cli -h localhost -c -p 8379 -a admin123456 cluster nodes
-
最终的目录结构
如果你觉得脚本生成的redis集群结构和配置内容不符合你的预期,你可以参考# redis 主从模式、哨兵模式、集群模式 离线搭建的集群模式部分,进行手动搭建