Redis哨兵模式(Linux)

Redis哨兵模式(Linux)

哨兵模式 是 Redis 官方推荐的高可用性(HA)解决方案。它通过监控 Redis 主从节点,在主节点故障时自动完成故障转移,从而实现 Redis 的高可用性。

了解哨兵模式模式之前,先了解一下主从复制的概念

主从复制

一个主节点可以对应多个从节点,但是每个从节点只能有一个主节点。数据的复制是单向的,只能由主节点到从节点。

如何设置从节点

这里主要讲解如何使用配置文件来,进行主从节点的设置,一般Redis的配置文件为redis.conf这个文件,一般在/etc文件中

  1. 复制一份配置文件到根目录中,在根目录中进行操作

    redis 复制代码
    cp redis.conf ~
  2. 在根目录进行一次复制一份redis-6380.conf的配置文件,作为从节点的配置文件

    redis 复制代码
    cp redis.conf redis-6380.conf
  3. 修改redis-6380.conf配置文件

    改动文件中的几个位置

    端口号:改成你的从节点,我以6380为例

​ 将这个地方改成6380

​

​ 将这个pidfile后面的端口也改成6380

​

​ 找到dbfilename这个地方,将后面的文件名dump.rdb也加上端口号,dump-6380.rdb

​

​ 然后找到这个地方,有的配置文件可能不同,但是类似,在下面加上

​ 表示配置的是6379的从节点

  1. 重新打开一个端口,启动该节点

    复制代码
    redis-server redis-6380.conf
  2. 再启动一个新的客户端,连接该从节点

    复制代码
    redis-cli -p 6380
  3. 查看该从节点信息

    复制代码
    info replication

​ 可以看出该节点是一个从节点,并且主节点端口号是6379

设置哨兵

​ 相信通过上述,对于从节点的设置已经有了一个清晰的了解了,接下来,我配置了一个一主两从的节点关系,来讲解哨兵模式。(主:6379 从:6380,6381)

  1. 首先在redis集群中添加一个哨兵节点,需要添加一个sentinel.conf文件

    内容如下:

    复制代码
    sentinel monitor master 127.0.0.1 6379 1
  2. 启动哨兵节点:

    复制代码
    redis-sentinel sentinel.conf

​ 可以看出一个运行在26379端口的哨兵模式,下面是两个从节点6380,6381

故障转移

在开启哨兵模式之后,如果主节点宕机或出故障了,可以通过故障转移,更换主节点

接下来,模拟一下主节点宕机的情况,展示一下主节点转移的状态

直接在6379端口输入ctrl+c,或者吧终端关闭,来模拟一下端口宕机

复制代码
redis-cli -p 6379 SHUTDOWN

关闭端口后,等待几秒

可以看出主节点以及换成了6380端口

两个端口的情况,以及看出6381的主节点已经变成了6380端口

哨兵节点的优缺点

优点:

  1. 高可用:自动故障转移,服务不间断
  2. 监控全面:持续监控所有节点状态
  3. 自动配置:客户端自动发现主节点
  4. 官方支持:Redis 官方解决方案

缺点:

  1. 配置复杂:需要部署多个哨兵节点
  2. 性能开销:哨兵间需要通信和选举
  3. 脑裂问题:网络分区可能导致多个主节点
  4. 扩容复杂:不支持自动分片

​ 哨兵模式是 Redis 高可用的成熟方案,适合读多写少、数据量不大 的场景。对于需要水平扩展、大数据量的场景,建议考虑 Redis Cluster 集群模式。

部署建议:

  • 至少3个哨兵节点,部署在不同物理机
  • 哨兵节点数量为奇数(3、5、7)
  • 定期测试故障转移流程
  • 监控哨兵和Redis节点的健康状态

上述就是哨兵模式的大致过程,看完应该对哨兵模式有了一个更加深刻的理解了吧

相关推荐
2601_962071005 小时前
Kimi K3 vs DeepSeek V4-Pro实测对比:2026年同一入口十道题,耗时与token消耗差在哪
android·java·数据库
海盗12345 小时前
微软技术日报 2026-10-15:Defender 下到 Linux 桌面,Copilot 订阅明天改名
linux·人工智能·microsoft·机器人·aigc·copilot
mengzhi啊5 小时前
把数据存入sql数据库。qt,c++。
数据库·sql·qt
ManageEngineITSM6 小时前
工单优先级怎么定?影响×紧急度矩阵的设计与落地方法
java·大数据·运维·前端·数据库·变更管理
科研online6 小时前
数据资源:中国10年旅游流动网络数据集
数据库
智商网输送线配件6 小时前
电子制造零散耗材补货实战:小批量混批采购平台怎么选才不停机?
大数据·服务器·前端·数据库·自动化
梦帮科技6 小时前
Web 漏洞攻防深度:WAF 规则逃逸技术(畸形分块传输、双重编码)与对抗加固
linux·前端·网络安全·ssl·web
for_ever_love__6 小时前
忠实度(Faithfulness):怎么判断 RAG 的答案有没有瞎编
linux·rag·评估·答案·faithfulness·原文·忠实度
Lysander.Jovian6 小时前
Redis使用
redis
程序员-Benothing6 小时前
Linux系统监控工具全家桶:sar、dstat、glances、Prometheus
linux·运维·prometheus