解决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 彻底禁用RDB持久化操作
Jul 09 Redis
Redis分布式锁Redlock的实现
Aug 07 Redis
在项目中使用redis做缓存的一些思路
Sep 14 Redis
使用Redis实现点赞取消点赞的详细代码
Mar 20 Redis
在Centos 8.0中安装Redis服务器的教程详解
Mar 21 Redis
Redis 操作多个数据库的配置的方法实现
Mar 23 Redis
Redis超详细讲解高可用主从复制基础与哨兵模式方案
Apr 07 Redis
windows安装 redis 6.2.6最新步骤详解
Apr 26 Redis
详解Redis的三种常用的缓存读写策略步骤
May 06 Redis
Redis基本数据类型哈希Hash常用操作命令
Jun 01 Redis
Redis+AOP+自定义注解实现限流
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
虫族 Zerg 历史背景
2020/03/14 星际争霸
支持php4、php5的mysql数据库操作类
2008/01/10 PHP
php过滤危险html代码
2008/08/18 PHP
php防止SQL注入详解及防范
2013/11/12 PHP
Laravel 5 框架入门(一)
2015/04/09 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
2013/03/18 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
javascript实现显示和隐藏div方法汇总
2015/08/14 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
2018/12/28 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
使用Python实现跳一跳自动跳跃功能
2019/07/10 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
Eclipse配置python默认头过程图解
2020/04/26 Python
计算Python Numpy向量之间的欧氏距离实例
2020/05/22 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
学院领导推荐信
2013/10/30 职场文书
毕业生个人求职信范例分享
2013/12/17 职场文书
媒矿安全生产承诺书
2014/05/23 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
幼儿园托班教育随笔
2015/08/14 职场文书
幼儿园保育员随笔
2015/08/14 职场文书