尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Redis 安装与高可用架构配置

Redis 安装与高可用架构配置 手把手带你完成 Redis 的编译安装、主从复制配置以及哨兵(Sentinel)高可用集群搭建。内容结构清晰、语言通俗,适合初学者快速上手,也便于运维人员在生产环境中参考部署。一、准备工作:创建目录并上传源码首先,我们需要为 Redis 创建一个专属的工作目录,并上传官方源码包:cd/home/thtmkdirredis使用tht用户通过 FTP 或 SCP 将redis-6.2.6.tar.gz上传至/home/tht/redis目录,并解压:tar-xvfredis-6.2.6.tar.gz二、编译安装 RedisRedis 是用 C 语言开发的,因此需要先进行编译。2.1 进入源码目录并编译cd/home/tht/redis/redis-6.2.6make编译过程大约需要 1 分钟,期间会生成多个可执行文件,如redis-server、redis-cli、redis-sentinel等。编译成功后,进入src目录确认关键命令是否生成:cdsrclsredis*你应该能看到如下核心命令:redis-server:Redis 服务端redis-cli:客户端连接工具redis-sentinel:哨兵服务程序2.2 常见编译问题及解决方法缺少 GCC 编译器若提示gcc: command not found,请先安装:yuminstall-ygccjemalloc 报错若出现error: jemalloc/jemalloc.h: No such file or directory,执行:makedistcleanmake三、配置环境变量(方便全局调用)为了让系统能直接识别 Redis 命令,我们将 Redis 的src目录加入环境变量。编辑当前用户的.bash_profile:vi/home/tht/.bash_profile添加以下内容:# Redis environmentexportREDIS_BASE=/home/tht/redis/redis-6.2.6exportPATH=$REDIS_BASE/src:$PATH使配置立即生效:source~/.bash_profile现在你可以在任意位置直接使用redis-server、redis-cli等命令了。四、基础配置:修改 redis.confRedis 的行为由其配置文件redis.conf控制。我们将在默认配置基础上进行必要调整。4.1 关键配置项说明配置项默认值建议修改说明bind127.0.0.1注释掉或改为服务器 IP允许远程访问port6379如9001自定义服务端口protected-modeyesno关闭保护模式(无密码时需关闭)dir.//home/tht/redis/data持久化数据存储目录requirepass无Passw0rd@设置访问密码masterauth无同requirepass从节点连接主节点的认证密码⚠️注意:若启用密码,请确保requirepass(主)和masterauth(从)一致。五、搭建 Redis 主从复制架构我们将部署一个1 主 + 2 从的 Redis 架构,IP 和端口规划如下:角色IP 地址端口用途Master172.16.174.1279001主节点Slave1172.16.174.1289002从节点1Slave2172.16.97.1559003从节点2所有节点均已完成 Redis 编译安装。5.1 主节点(Master)配置创建目录结构mkdir-p/home/tht/redis/data /home/tht/redis/rd9001/log复制并编辑配置文件cd/home/tht/redis/rd9001cp/home/tht/redis/redis-6.2.6/redis.conf.viredis.conf修改关键参数bind 0.0.0.0 # 允许所有IP访问(或指定具体IP) protected-mode no port 9001 pidfile /home/tht/redis/rd9001/redis_9001.pid dir /home/tht/redis/data maxmemory 500M requirepass Passw0rd@ masterauth Passw0rd@ # 虽为主节点,但建议保留(便于切换)5.2 从节点(Slave)配置(以 Slave1 为例)创建目录mkdir-p/home/tht/redis/data /home/tht/redis/rd9002/log复制配置文件cd/home/tht/redis/rd9002cp/home/tht/redis/redis-6.2.6/redis.conf.viredis.conf修改关键参数bind 0.0.0.0 protected-mode no port 9002 pidfile /home/tht/redis/rd9002/redis_9002.pid dir /home/tht/redis/data maxmemory 500M slaveof 172.16.174.127 9001 # 指向主节点 requirepass Passw0rd@ # 本地访问密码(可选) masterauth Passw0rd@ # 连接主节点的密码(必须)Slave2(9003)配置类似,只需将端口改为9003,slaveof指向同一主节点即可。六、配置 Redis Sentinel(哨兵)高可用Redis Sentinel 负责监控主从状态,并在主节点故障时自动完成故障转移(Failover)。最佳实践:至少部署 3 个哨兵实例,分布在不同物理机上,避免单点故障。
返回列表