本文是大数据系列第 39 篇,介绍在大数据集群节点上从源码编译安装 Redis,并完成基础启动配置。

完整图文版(含截图):CSDN 原文 | 掘金

为什么选择源码编译

相比包管理器安装,源码编译的优势:

  • 版本可控:指定任意版本,不受系统仓库限制
  • 按需裁剪:启用 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-serverRedis 服务端
redis-cli命令行客户端
redis-benchmark性能基准测试工具
redis-check-aofAOF 文件修复工具
redis-check-rdbRDB 文件检查工具

配置文件

将默认配置文件复制到安装目录并修改:

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 可持久化生效。