解决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 27 Redis
基于Redis过期事件实现订单超时取消
May 08 Redis
基于Redis延迟队列的实现代码
May 13 Redis
浅谈redis缓存在项目中的使用
May 20 Redis
深入理解redis中multi与pipeline
Jun 02 Redis
Redis分布式锁Redlock的实现
Aug 07 Redis
Redis模仿手机验证码发送的实现示例
Nov 02 Redis
Redis如何使用乐观锁(CAS)保证数据一致性
Mar 25 Redis
sentinel支持的redis高可用集群配置详解
Apr 01 Redis
使用Redis做预定库存缓存功能
Apr 02 Redis
windows安装 redis 6.2.6最新步骤详解
Apr 26 Redis
Redis基本数据类型Zset有序集合常用操作
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
PHP语法速查表
2006/12/06 PHP
php下实现折线图效果的代码
2007/04/28 PHP
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
Javascript 中的类和闭包
2010/01/08 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
基于js disabled="false"不起作用的解决办法
2013/06/26 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
node.js cookie-parser之parser.js
2016/06/06 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
2018/12/12 Javascript
JS异步处理的进化史深入讲解
2019/08/25 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
解决python中导入win32com.client出错的问题
2019/07/26 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
python eventlet绿化和patch原理
2020/11/21 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
美国韩国化妆品和护肤品购物网站:Beautytap
2018/07/29 全球购物
医学院毕业生自荐信
2013/11/08 职场文书
单位人事专员介绍信
2014/01/11 职场文书
董事长助理岗位职责
2014/02/18 职场文书
安全生产管理合理化建议书
2014/03/12 职场文书
视光学专业自荐信
2014/06/24 职场文书
2014年房地产销售工作总结
2014/12/01 职场文书
信访工作个人总结
2015/03/03 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
Ajax异步刷新功能及简单案例
2021/11/20 Javascript
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android