Redis哨兵模式实施方案

发布时间 2023-03-22 21:11:29作者: 城市幽灵

部署 Redis 主从节点
在部署 Redis 主从节点时,可以选择单机部署、容器部署或者集群部署等方式。需要注意的是,主节点和从节点的配置要保持一致,并且在主节点中设置密码,以增加安全性。

单机部署可以通过下载 Redis 的二进制文件并解压来完成,具体步骤如下:

(1)下载 Redis 二进制文件并解压

wget http://download.redis.io/releases/redis-6.2.3.tar.gz
tar -zxvf redis-6.2.3.tar.gz

(2)编译 Redis 主从节点

进入 Redis 源码目录并执行 make 命令进行编译。

cd redis-6.2.3
make

(3)配置 Redis 主从节点

修改 redis.conf 配置文件,配置主节点的端口号、密码、持久化等选项,同时配置从节点的 slaveof 选项指向主节点。

主节点配置示例:

port 6379
requirepass mypassword
appendonly yes

从节点配置示例:

port 6380
slaveof 127.0.0.1 6379
requirepass mypassword

部署 Redis Sentinel 节点
Redis Sentinel 节点是用来监控 Redis 主从节点状态的,一般需要部署 3 个以上的节点,以保证高可用性。可以在 Redis 主从节点所在的机器上部署 Sentinel 节点,也可以在其他机器上部署,但需要保证网络畅通。

部署 Sentinel 节点的步骤如下:

(1)下载 Redis 源码,并编译 Sentinel 可执行文件:

wget http://download.redis.io/releases/redis-6.2.3.tar.gz
tar -zxvf redis-6.2.3.tar.gz
cd redis-6.2.3
make SENTINEL=1

(2)配置 Sentinel 配置文件 sentinel.conf,配置文件内容如下:

指定 Sentinel 监控的主节点名称

sentinel monitor mymaster <master-ip> <master-port> <quorum>

Sentinel 配置信息

port 26379
daemonize yes
logfile "/var/log/redis/sentinel.log"
pidfile "/var/run/redis/sentinel.pid"
dir "/var/lib/redis/sentinel"

Redis 认证密码

sentinel auth-pass mymaster <password>

主节点超时时间

sentinel down-after-milliseconds mymaster <timeout>

故障转移超时时间

sentinel failover-timeout mymaster <timeout>

其中,mymaster 是 Sentinel 监控的主节点名称, 是主节点 IP 地址, 是主节点端口号, 是至少需要多少个 Sentinel 节点同意才能进行故障转移的票数,一般设置