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等容器里面,尤其要注意端口的正确映射哨。
  • 兵集群+主从复制,并不能保证数据零丢失
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值