Redis集群离线安装环境准备和快速搭建那些事儿,手把手教你搞定
- 问答
- 2026-01-19 20:14:27
- 4
咱们要明白离线安装是啥意思,说白了,就是你的服务器不能连外网,没法像平时那样敲个命令就从网上下载软件,所有需要的东西,都得你提前在自己能上网的电脑上下好,然后像搬砖一样,一个个搬到服务器里去。(来源:常见的离线安装场景描述)
第一步,准备材料,就像做饭前得先买菜。
你得准备以下几样“菜”:
- Redis安装包:去Redis的官网(redis.io)找到下载页面,挑一个稳定版本,比如用得很广的6.x或7.x版本,文件名字通常是
redis-版本号.tar.gz,这就是Redis的源代码,我们需要在服务器上自己编译它,把这个包下载到你自己的电脑上。(来源:Redis官方安装指南) - gcc编译器:Redis是用C语言写的,要想把源代码变成能运行的程序,就得在服务器上编译,编译就需要一个叫gcc的工具,这个是服务器系统自带的,但为了防止有些精简版的系统没装,你得确认一下,如果服务器能连内网的yum源(一种软件仓库)来安装gcc,那最省事,如果连内网源都没有,那可就麻烦了,你得把gcc和它的一大堆依赖包也离线下载下来,那个工程量就非常大了,今天我们先假设服务器至少能装gcc。(来源:软件编译的基本要求)
- Ruby环境:可能你会奇怪,装Redis为啥要Ruby?这是因为我们用的是Redis集群模式,Redis官方提供了一个叫
redis-trib.rb的工具(新版本可能是redis-cli --cluster)来帮我们快速搭建和管理集群,这个工具是用Ruby写的,服务器上还得有Ruby解释器以及一个叫redis的Ruby包(也叫gem),同样,这些也需要想办法在离线环境下装好,可以先在网上找好对应你服务器操作系统版本的Ruby安装包和redis gem的离线包。(来源:Redis集群管理工具依赖说明)
第二步,把“菜”搬到服务器厨房。
你现在手上有了一堆安装包(redis源码包、ruby离线包等),怎么把它们弄到不能上网的服务器上呢?常见的有几种土办法:
- 用U盘拷:如果服务器在你身边,这是最直接的。
- 用内网传输工具:比如用
scp命令从你的电脑传过去,或者用ftp工具,前提是你的电脑和服务器在同一个网络里。 - 搭个临时文件服务器:在局域网里找台能通的机器,用Python的
http.server模块快速启个简单的下载服务,让服务器从那里下。
选一种你觉得顺手的方式,把所有准备好的安装包都上传到服务器的一个目录里,/opt/software。
第三步,开始“洗菜切菜”,安装软件。
-
安装gcc(如果还没有的话): 如果能用内网yum源,就很简单, root用户执行
yum install -y gcc就行,如果真需要完全离线安装gcc,那是个大工程,得另找教程了。
-
编译安装Redis:
- 切换到安装包所在目录:
cd /opt/software - 解压Redis源码包:
tar -zxvf redis-版本号.tar.gz - 进入解压后的目录:
cd redis-版本号 - 编译:
make这个命令会跑一会儿,把C代码编译成可执行文件,如果这里报错,多半是环境问题,比如gcc没装好。 - 安装:
make PREFIX=/usr/local/redis install这会把编译好的文件安装到/usr/local/redis目录下。PREFIX参数是指定安装目录,不加的话会默认装到系统目录。
- 切换到安装包所在目录:
-
安装Ruby和redis gem(以离线RPM包为例,方法可能因系统而异):
- 安装Ruby:找到你下载的Ruby相关的一系列RPM包,用
rpm -ivh *.rpm命令批量安装。 - 离线安装redis gem:下载好的redis gem包通常是以
.gem结尾的文件,使用命令gem install --local /path/to/redis-x.x.x.gem进行本地安装。
- 安装Ruby:找到你下载的Ruby相关的一系列RPM包,用
第四步,“开火炒菜”,配置和启动集群。
假设我们要在三台机器上搭一个最小集群(每台机器跑两个实例,一共三主三从)。

-
准备配置文件: 在每台机器上,为要运行的Redis实例创建单独的配置文件和数据目录,在
/usr/local/redis/下创建cluster/7000和cluster/7001两个目录。 从之前解压的Redis源码目录里,拷贝一份redis.conf配置文件到每个目录(如/usr/local/redis/cluster/7000/redis.conf)。 -
修改关键配置(每个实例的配置文件都要改):
port 7000:每个实例的端口必须不一样。bind 你本机的IP地址:不能写127.0.0.1,要写其他机器能访问到的IP。daemonize yes:让Redis在后台运行。pidfile /var/run/redis_7000.pidlogfile "/usr/local/redis/cluster/7000/redis.log"dir /usr/local/redis/cluster/7000/data:数据存放目录,先创建好。cluster-enabled yes:最关键的一步,开启集群模式。cluster-config-file nodes-7000.conf:集群自己的配置文件,不用管,Redis会自动生成。cluster-node-timeout 15000appendonly yes
-
启动所有实例: 在每个服务器上,分别进入每个实例的目录,启动Redis服务。
cd /usr/local/redis/cluster/7000../bin/redis-server ./redis.conf(因为我们的redis-server命令在/usr/local/redis/bin下) 用ps -ef | grep redis检查一下6个实例是否都启动成功了。 -
组建集群: 现在6个Redis实例都跑起来了,但它们还是孤立的点,需要用命令把它们串成一个集群。 新版本推荐直接用
redis-cli命令(来源:Redis官方文档):redis-cli --cluster create 服务器1IP:7000 服务器1IP:7001 服务器2IP:7000 服务器2IP:7001 服务器3IP:7000 服务器3IP:7001 --cluster-replicas 1这个命令里的--cluster-replicas 1表示每个主节点带一个从节点,命令执行后,它会给你列出一个规划好的主从关系,你输入yes确认,集群就开始创建了。 -
验证集群: 连接上任意一个节点:
redis-cli -c -h 某IP -p 某端口(-c表示以集群模式连接) 执行cluster info查看集群状态,cluster nodes查看节点关系,如果能正常存取值,就大功告成了。
就是离线搭建Redis集群的主要步骤,整个过程就像个手工活,比较繁琐,但一步一步来,遇到问题耐心查日志(就是前面配置的logfile),总能搞定。
本文由酒紫萱于2026-01-19发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://www.haoid.cn/wenda/83863.html
