
3 个哨兵节点(奇数),满足 Raft 多数派投票要求(多数派 = 2 票),任意 1 台服务器宕机都能正常完成故障转移,无高可用风险。
开放防火墙端口:
js测试环境可临时关闭防火墙:systemctl stop firewalld
jsmkdir -p /etc/redis
# 从源码目录复制默认配置模板(如果还没复制过)
cp /redis/redis-8.4.0/redis.conf /etc/redis/
cp /redis/redis-8.4.0/sentinel.conf /etc/redis/
清空并创建新的redis.conf
js> /etc/redis/redis.conf
vi /etc/redis/redis.conf
js# 允许所有IP访问(生产环境建议绑定内网IP段,如192.168.201.0/24)
bind 0.0.0.0
# 关闭保护模式(或设置密码后保持yes)
protected-mode no
# 后台运行
daemonize yes
# 日志文件(便于排查)
logfile "/var/log/redis.log"
# 数据持久化目录
dir "/var/lib/redis"
# 设置强密码(请替换为实际密码,主从节点必须一致)
requirepass 123456
# 从节点同步时的认证密码(与上面一致)
masterauth 123456
# RDB持久化配置(默认即可,按需调整)
save 900 1
save 300 10
save 60 10000
创建数据目录并启动主节点:
jsmkdir -p /var/lib/redis
redis-server /etc/redis/redis.conf
清空并创建新的redis.conf
js> /etc/redis/redis.conf
vi /etc/redis/redis.conf
从节点配置
jsbind 0.0.0.0
protected-mode no
daemonize yes
logfile "/var/log/redis.log"
dir "/var/lib/redis"
requirepass 123456
masterauth 123456
save 900 1
save 300 10
save 60 10000
# 关键:指定主节点IP和端口
replicaof 192.168.201.133 6379
创建数据目录并启动从节点 1:
jsmkdir -p /var/lib/redis
redis-server /etc/redis/redis.conf
在主节点(133)验证:
jsredis-cli -a 123456 info replication
看到connected_slaves:2,两个从节点(137 和 138)都显示state=online

js# 清空并创建sentinel.conf
> /etc/redis/sentinel.conf
vi /etc/redis/sentinel.conf
jsport 26379
daemonize yes
logfile "/var/log/redis-sentinel.log"
dir "/tmp"
sentinel monitor mymaster 192.168.201.133 6379 2
sentinel auth-pass mymaster 123456
sentinel down-after-milliseconds mymaster 3000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1
jsredis-sentinel /etc/redis/sentinel.conf
js# 查看哨兵信息(应显示3个哨兵节点)
redis-cli -p 26379 info sentinel
# 查看监控的主节点详情
redis-cli -p 26379 sentinel masters
# 查看监控的从节点详情(应显示2个)
redis-cli -p 26379 sentinel slaves mymaster
本文作者:松轩(^U^)
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!