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的有序集合实现排行榜功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Redis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Redis如何在项目中合理使用经验分享

    Redis如何在项目中合理使用经验分享

    这篇文章主要给大家介绍了关于Redis如何在项目中合理使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Redis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • python中使用redis用法详解

    python中使用redis用法详解

    Redis拥有丰富的数据结构,拥有事务功能,保证命令的原子性。由于是内存数据库,读写非常高速,可达10w/s的评率,所以一般应用于数据变化快、实时通讯、缓存等。这篇文章给大家讲解一下Python如何使用Redis,并进行相关的实战操作。
    2022-12-12
  • Redis如何实现计数统计

    Redis如何实现计数统计

    这篇文章主要介绍了Redis如何实现计数统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Redisson如何解决redis分布式锁过期时间到了业务没执行完问题

    Redisson如何解决redis分布式锁过期时间到了业务没执行完问题

    这篇文章主要介绍了Redisson如何解决redis分布式锁过期时间到了业务没执行完问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Redis中的配置文件,数据持久化,事务

    Redis中的配置文件,数据持久化,事务

    这篇文章主要介绍了Redis中的配置文件,数据持久化,事务问题,具有很好的参考价值,希望对大家有所帮助。
    2022-12-12
  • redis缓存穿透解决方法

    redis缓存穿透解决方法

    在本篇文章里小编给大家分享了关于redis缓存穿透的解决方法以及相关实例内容,需要的朋友们学习下。
    2019-06-06
  • 详解Redis中key的命名规范和值的命名规范

    详解Redis中key的命名规范和值的命名规范

    这篇文章主要介绍了详解Redis中key的命名规范和值的命名规范,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • redis-copy使用6379端口无法连接到Redis服务器的问题

    redis-copy使用6379端口无法连接到Redis服务器的问题

    这篇文章主要介绍了redis-copy使用6379端口无法连接到Redis服务器的问题的相关资料,需要的朋友可以参考下
    2023-05-05
  • 一篇吃透Redis缓存穿透、雪崩、击穿问题

    一篇吃透Redis缓存穿透、雪崩、击穿问题

    这篇文主要介绍了Redis缓存穿透,缓存雪崩,缓存击穿的问题解决方法,文中有详细的图文介绍,对大家了解Redis有一定的帮助,需要的朋友可以参考下
    2023-05-05

最新评论