解决redis sentinel 频繁主备切换的问题

 更新时间:2021年04月08日 11:30:02   作者:咫尺的梦想ing  
这篇文章主要介绍了解决redis sentinel 频繁主备切换的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

问题描述

操作redis发现原有Master变成slave,其他slave成master,切换较频繁

问题分析

查看redis服务器sentinel日志,发现主机频繁在凌晨左右sentinel哨兵检查到master挂了,主备切换,排查为每天凌晨左右对hash:sms:qxt:mobile:content:day队列进行删除触发的切机,队列量级过大,删除时导致redis服务器卡住,切机。

问题处理

队列改用分批删除,避免对大数据量队列进行删除而引起切机

补充:redis一主一从一哨兵,第一次主从切换成功,再次主从切换无法正常执行?

自己在服务器学着搭建redis主从复制和哨兵模式。为了简单,一开始只是搭建了一主(port 9001),一从(port 6379),一哨兵(26379)

主从哨兵都在一台服务器上,并且主从服务器均设置了密码:123456

先按照 主-->从--->哨兵 的顺序依次启动,日志和执行命令都没有问题,然后shutdown 9001服务器,哨兵模式顺利将主节点切换到6379,然后在启动9001的redis,发现9001的服务器变为slave ;

但是再次将6379(当前的master)宕机,无法继续切换

如下:

一开始是以为配置文件有问题,来回检查了几遍,后来发现这个情形(6379为master ,9001为slave),哪怕在master存放新的key-value,也无法同步到9001

查看了一下9001的redis的info配置发现

我的6379的服务器是正常运行的,但是9001没法连接到相关的6379服务器,自然也就没法对master(6379)的服务器进行同步了

想到6379设置了服务密码,我就在9001的redis里加了如下配置

修改完配置之后,重启服务,再次模拟刚刚的情形,二次切换也成功了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • redis-cli常用命令使用详解

    redis-cli常用命令使用详解

    这篇文章主要介绍了redis-cli常用命令使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Redis内存回收策略

    Redis内存回收策略

    这篇文章主要介绍了Redis内存回收策略,需要的朋友可以参考下
    2007-02-02
  • Linux系统下安装Redis数据库过程

    Linux系统下安装Redis数据库过程

    大家好,本篇文章主要讲的是Linux系统下安装Redis数据库过程,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题

    Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题

    这篇文章主要介绍了Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • 基于Redis实现消息队列的示例代码

    基于Redis实现消息队列的示例代码

    消息队列在分布式系统中非常重要,能够有效解耦系统的各个模块,提供异步处理能力和缓冲能力,本文介绍了基于Redis实现消息队列的示例代码,感兴趣的可以了解一下
    2025-04-04
  • redis中redisson实现锁自动延时

    redis中redisson实现锁自动延时

    redisson作为分布式锁能够解决分布式的加锁解锁问题,还能够实现锁的设置存活时间以及自动续期,本文主要介绍了redis中redisson实现锁自动延时,感兴趣的可以了解一下
    2024-02-02
  • Redis SCAN命令详解

    Redis SCAN命令详解

    SCAN 命令是一个基于游标的迭代器,每次被调用之后, 都会向用户返回一个新的游标, 用户在下次迭代时需要使用这个新游标作为 SCAN 命令的游标参数, 以此来延续之前的迭代过程,这篇文章给大家介绍了Redis SCAN命令的相关知识,感兴趣的朋友一起看看吧
    2022-07-07
  • RedisTemplate中boundHashOps的使用小结

    RedisTemplate中boundHashOps的使用小结

    redisTemplate.boundHashOps(key) 是 RedisTemplate 类的一个方法,本文主要介绍了RedisTemplate中boundHashOps的使用小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • Redis中三种特殊数据类型命令详解

    Redis中三种特殊数据类型命令详解

    Geospatial是地理位置类型,我们可以用来查询附近的人、计算两人之间的距离等,这篇文章主要介绍了Redis中三种特殊数据类型命令详解,需要的朋友可以参考下
    2024-05-05
  • SpringBoot集成Redis的思路详解

    SpringBoot集成Redis的思路详解

    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。接下来通过本文给大家分享SpringBoot集成Redis的详细过程,感兴趣的朋友一起看看吧
    2021-10-10

最新评论