Redis哨兵监控的使用

 更新时间:2023年11月12日 11:22:30   作者:knookda  
在Redis集群模式中,哨兵模式是一种常用的方案,本文主要介绍了Redis哨兵监控的使用,具有一定的参考价值,感兴趣的可以了解一下

1.简介

(1)什么是哨兵

  • 哨兵是Redis的一种运行模式。
  • 它专注于对Redis实例(主节点、从节点)运行状态的监控。
  • 并能够在主节点发生故障时通过一系列的机制实现选主及主从切换,实现故障转移,确保整个Redis系统的可用性。
  • 吹哨人巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库,继续对外服务。

(2)功能

  • 主从监控:监控主从redis是否正常运行。
  • 消息通知:哨兵可以将故障转移的结果发送给客户端。
  • 故障转移:主机异常可进行主从切换。
  • 配置中心:客户端通过连接哨兵来获得当前Redis服务的主节点地址。

(3)启动

  • 通用配置(可根据具体需求添加或修改)

    bind 0.0.0.0
    daemonize yes
    protected-mode no
    port 26379
    logfile "/myredis/sentinel26379.log"
    pidfile /var/run/redis-sentinel26379.pid
    dir /myredis
    sentinel monitor mymaster 主机号 端口号 投票数
    sentinel auth-pass mymaster 连接密码
    
  • 启动命令

    redis-sentinel 哨兵配置文件 --sentinel
    

2.运行流程

(1)运行流程

  • 某台主机检测到主机状态异常,主观不可用(SDOWN)。

  • 多个哨兵认为主机主观下线达到quorum指定数量认为是客观下线(odown)。

  • 选出领导者哨兵

    • 主机被判定为客观下线后,哨兵先协商选出一个兵王,并由该节点进行故障迁移。
    • 哨兵领导者通过Raft算法选出(先到先得)。
  • 由领导者哨兵开始推动故障迁移。

(2)故障迁移(failover)

  • 新主登基:选出新的主机
    • 节点健康前提下,redis.conf文件中,slave-priority或者replica-priority数字最小的从节点。
    • 复制偏移位置offset最大的从节点。
    • 最小Run ID的从节点。
  • 群臣俯首
    • 执行slaveof no one命令让选出来的从节点成为新的主节点.
    • 并通过slaveof xxx命令让其他节点成为其从节点。
  • 旧主败服
    • 将之前已下线的老master设置为新选出的新master的从节点。
    • 当老master重新上线后,它会成为新master的从节点。

(3)使用建议

  • 哨兵节点的数量应为多个,哨兵本身应该集群,保证高可用。
  • 哨兵节点的数量应该是奇数(避免出现平票情况)。
  • 各个哨兵节点的配置应一致。
  • 如果哨兵节点部署在Docker等容器里面,尤其要注意端口的正确映射哨。
  • 兵集群+主从复制,并不能保证数据零丢失

到此这篇关于Redis哨兵监控的文章就介绍到这了,更多相关Redis哨兵监控内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • redis实现简单队列

    redis实现简单队列

    这篇文章主要为大家详细介绍了redis实现简单队列的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Redis 缓存满了如何解决

    Redis 缓存满了如何解决

    Redis 缓存使用内存来保存数据,随着需要缓存的数据量越来越大,有限的缓存空间不可避免地会被写满,本文主要介绍了Redis 缓存满了如何解决,感兴趣的可以了解一下
    2023-08-08
  • Redis Cluster Pipeline导致的死锁问题解决

    Redis Cluster Pipeline导致的死锁问题解决

    本文主要介绍了Redis Cluster Pipeline导致的死锁问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-10-10
  • IDEA初次连接Redis配置的实现

    IDEA初次连接Redis配置的实现

    本文主要介绍了IDEA初次连接Redis配置的实现,文中通过图文步骤介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • Redis特殊数据类型bitmap位图

    Redis特殊数据类型bitmap位图

    这篇文章主要为大家介绍了Redis特殊数据类型bitmap位图,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • redis中token失效引发的一次生产事故

    redis中token失效引发的一次生产事故

    项目再测试的时候发现不定时token失效,本文主要介绍了redis中token失效引发的一次生产事故,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • Spark删除redis千万级别set集合数据实现分析

    Spark删除redis千万级别set集合数据实现分析

    这篇文章主要为大家介绍了Spark删除redis千万级别set集合数据实现过程分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 通过Redis实现Token黑名单机制的具体方案

    通过Redis实现Token黑名单机制的具体方案

    如果没有为Token提供主动失效机制,一旦Token被签发,在过期之前将一直有效,存一些安全隐患,所以本文通过将已失效的Token存储在Redis中,可以确保Token在被主动注销后无法继续使用,需要的朋友可以参考下
    2025-11-11
  • Windows下注册Redis服务失败的解决方案

    Windows下注册Redis服务失败的解决方案

    在Windows系统中,有时候我们需要将Redis作为一个服务运行,以便于在后台长期运行并提供服务,本篇技术博客文章将为你解答在Windows下注册Redis服务失败的一些常见问题,并提供相应的解决方案,需要的朋友可以参考下
    2024-11-11
  • Redis深入了解内存淘汰与事务操作

    Redis深入了解内存淘汰与事务操作

    将Redis用作缓存时,Redis数据存在内存中,如果内存空间用满,就会自动驱逐老的数据。Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断
    2022-07-07

最新评论