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


Posted in Redis onApril 12, 2021

问题描述

操作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)宕机,无法继续切换

如下:

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

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

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

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

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

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

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

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

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

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

Redis 相关文章推荐
redis限流的实际应用
Apr 24 Redis
Redis实现订单自动过期功能的示例代码
May 08 Redis
详解Redis主从复制实践
May 19 Redis
redis哨兵常用命令和监控示例详解
May 27 Redis
SpringBoot 集成Redis 过程
Jun 02 Redis
Redisson实现Redis分布式锁的几种方式
Aug 07 Redis
使用redis生成唯一编号及原理示例详解
Sep 15 Redis
Redis 持久化 RDB 与 AOF的执行过程
Nov 07 Redis
使用Redis做预定库存缓存功能
Apr 02 Redis
详解Redis的三种常用的缓存读写策略步骤
May 06 Redis
Redis基本数据类型哈希Hash常用操作命令
Jun 01 Redis
redis连接被拒绝的解决方案
Redis如何一键部署脚本
浅谈redis五大数据结构和使用场景
Redis遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 #Redis
redis配置文件中常用配置详解
Apr 14 #Redis
Redis安装启动及常见数据类型
redis限流的实际应用
Apr 24 #Redis
You might like
实现树状结构的两种方法
2006/10/09 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
php操作excel文件 基于phpexcel
2010/07/02 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
2013/08/16 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
2014/06/12 PHP
PHP伪静态Rewrite设置之APACHE篇
2014/07/30 PHP
php下Memcached入门实例解析
2015/01/05 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
JavaScript 学习笔记(十五)
2010/01/28 Javascript
jQuery的初始化与对象构建之浅析
2011/04/12 Javascript
浅谈javascript中的作用域
2012/04/07 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
vuex操作state对象的实例代码
2018/04/25 Javascript
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
python网络编程学习笔记(六):Web客户端访问
2014/06/09 Python
Python中的并发编程实例
2014/07/07 Python
python基础教程之循环介绍
2014/08/29 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
django限制匿名用户访问及重定向的方法实例
2018/02/07 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
Python批量生成特定尺寸图片及图画任意文字的实例
2019/01/30 Python
python实现得到当前登录用户信息的方法
2019/06/21 Python
Python中断多重循环的思路总结
2019/10/04 Python
MATCHESFASHION.COM美国官网:英国奢侈品零售商
2018/10/29 全球购物
金融专业应届生求职信
2013/11/02 职场文书
大学生个人自荐信
2014/02/24 职场文书
社会学专业求职信
2014/02/24 职场文书
QQ空间主人寄语大全
2014/04/12 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
Golang实现可重入锁的示例代码
2022/05/25 Golang