本文是大数据系列第 39 篇,介绍在大数据集群节点上从源码编译安装 Redis,并完成基础启动配置。
为什么选择源码编译
相比包管理器安装,源码编译的优势:
- 版本可控:指定任意版本,不受系统仓库限制
- 按需裁剪:启用 TLS、JSON 模块、systemd 集成等可选特性
- 性能调优:可选择
jemalloc等内存分配器,减少内存碎片 - 快速修复:生产环境可快速应用安全补丁
环境要求
| 依赖 | 要求 |
|---|---|
| 编译器 | GCC ≥ 10 或 Clang ≥ 13(需支持 C11) |
| 构建工具 | GNU make |
| 可选 | OpenSSL 开发库(TLS 支持)、TCL ≥ 8.5(测试套件) |
# Ubuntu/Debian 安装编译依赖
apt-get install -y gcc make
下载源码
wget http://download.redis.io/releases/redis-6.2.9.tar.gz
解压并整理目录
tar -zxvf redis-6.2.9.tar.gz
mv redis-6.2.9 /opt/servers/
编译安装
cd /opt/servers/redis-6.2.9/src
make
# 安装到指定目录
mkdir -p /usr/redis
make install PREFIX=/usr/redis
安装完成后 /usr/redis/bin/ 目录下会有以下可执行文件:
| 文件 | 说明 |
|---|---|
redis-server | Redis 服务端 |
redis-cli | 命令行客户端 |
redis-benchmark | 性能基准测试工具 |
redis-check-aof | AOF 文件修复工具 |
redis-check-rdb | RDB 文件检查工具 |
配置文件
将默认配置文件复制到安装目录并修改:
cp /opt/servers/redis-6.2.9/redis.conf /usr/redis/bin/
vim /usr/redis/bin/redis.conf
关键配置项:
# 以守护进程方式运行(后台启动)
daemonize yes
# 监听所有网卡(默认只监听 127.0.0.1)
bind 0.0.0.0
# 关闭保护模式(内网集群环境)
protected-mode no
# 端口(默认 6379)
port 6379
# 日志文件路径
logfile "/usr/redis/bin/redis.log"
# 数据目录
dir /usr/redis/data
mkdir -p /usr/redis/data
启动 Redis
cd /usr/redis/bin
./redis-server redis.conf
验证连接
./redis-cli -h 127.0.0.1 -p 6379
进入交互式命令行后执行:
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> get hello
"world"
查看进程与停止
# 查看 Redis 进程
ps -ef | grep redis
# 通过 redis-cli 优雅关闭
./redis-cli shutdown
# 或直接 kill
kill -9 <pid>
系统调优建议
针对生产环境,建议修改以下内核参数:
# 防止 fork 时 OOM
echo 1 > /proc/sys/vm/overcommit_memory
# 关闭透明大页,降低内存延迟
echo never > /sys/kernel/mm/transparent_hugepage/enabled
# 提高文件描述符上限(高并发场景)
ulimit -n 65535
# 减少 swap 使用
echo 1 > /proc/sys/vm/swappiness
将以上参数写入 /etc/sysctl.conf 可持久化生效。