解决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缓存-序列化对象存储乱码问题的解决
Jun 21 Redis
聊一聊Redis与MySQL双写一致性如何保证
Jun 26 Redis
Redis性能监控的实现
Jul 09 Redis
厉害!这是Redis可视化工具最全的横向评测
Jul 15 Redis
springboot使用Redis作缓存使用入门教程
Jul 25 Redis
Redis RDB技术底层原理详解
Sep 04 Redis
浅谈Redis的keys命令到底有多慢
Oct 05 Redis
Redis 持久化 RDB 与 AOF的执行过程
Nov 07 Redis
Redis Stream类型的使用详解
Nov 11 Redis
解决redis批量删除key值的问题
Mar 23 Redis
详解Redis的三种常用的缓存读写策略步骤
May 06 Redis
利用Redis实现点赞功能的示例代码
Jun 28 Redis
redis连接被拒绝的解决方案
Redis如何一键部署脚本
浅谈redis五大数据结构和使用场景
Redis遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 #Redis
redis配置文件中常用配置详解
Apr 14 #Redis
Redis安装启动及常见数据类型
redis限流的实际应用
Apr 24 #Redis
You might like
php实现微信原生支付(扫码支付)功能
2018/05/30 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
JS方法调用括号的问题探讨
2014/01/24 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
2019/07/10 jQuery
NodeJs 实现简单WebSocket即时通讯的示例代码
2019/08/05 NodeJs
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
python自定义解析简单xml格式文件的方法
2015/05/11 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
python 按照固定长度分割字符串的方法小结
2018/04/30 Python
python多线程并发实例及其优化
2019/06/27 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
pytorch中index_select()的用法详解
2021/01/06 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
美国球鞋寄卖网站:Stadium Goods
2018/05/09 全球购物
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
最好的商品表达自己:Cafepress
2019/09/04 全球购物
SQL Server面试题
2016/10/17 面试题
人力资源部经理的岗位职责
2014/03/04 职场文书
环保建议书作文
2014/03/12 职场文书
政府采购方案
2014/06/12 职场文书
课程设计的心得体会
2014/09/03 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
田径运动会广播稿
2015/08/19 职场文书