首页 > 数据库 >Java lettuce 连接Redis哨兵波动问题的排查

Java lettuce 连接Redis哨兵波动问题的排查

时间:2023-11-29 10:44:06浏览次数:40  
标签:core Java 10.0 Redis lettuce io com

环境信息

说明:本文内容基于公司内部出现的问题,已经对机器环境信息做了脱敏处理。

hostname IPaddress role
A 10.0.0.190 哨兵节点
B 10.0.0.191 哨兵节点
C 10.0.0.192 master节点
D 10.0.0.193 slave节点
E 10.0.0.194 slave节点
F 10.0.0.197 哨兵节点

现象描述

2:40~3:40期间内业务程序出现剧烈波动,研发人员告知这是Redis的问题,因为从监控图表来看这部分业务只会和Redis有关系。

具体Java程序日志如下:

2023-11-21 15:07:53 CST ERROR com.ata.privc.api.web.BindControllerApi 161 bind - 绑定接口异常,类型:AXB,a:******,x:****,b:*****,display:null,requestId:******
1018297987272 org.springframework.data.redis.RedisSystemException: Redis exception; nested exception is io.lettuce.core.RedisException: Cannot determine a node to read (Known nodes: [Redis
MasterReplicaNode [redisURI=redis://***************@10.0.0.194, role=REPLICA], RedisMasterReplicaNode [redisURI=redis://***************@10.0.0.193, role=REPLICA]]) with setting io.le
ttuce.core.ReadFromImpl$ReadFromUpstream@4a2467e6

通过查询Redis日志以及/var/log/message 并没有发现任何异常情况,唯一有关联的是监控上看到该时间段Redis master机器的io cpu 内存都有一些上升,但是对于整个服务器资源来说仍然不构成威胁。

尝试解决

进行了一顿 百度 Google,在Java程序连接Redis的驱动程序lettuce-core的GitHub Issue中找到了相同的问题,贴上链接:Not able to read the updated Master when connected Master/Slave through sentinel · Issue #1293 · lettuce-io/lettuce-core (github.com)

通过siiwyd的评论,我看到需要将Redis的timeout时间改为10。

我询问主管是否尝试此方法,我的主管因为担心会不会调整后引起其他问题,为保证线上环境的稳定性择期执行修改配置,暂时不做改动。

标签:core,Java,10.0,Redis,lettuce,io,com
From: https://www.cnblogs.com/liushiya/p/17864004.html

相关文章

  • JAVA判断图片真实格式的方法
    判断图片真实格式的方法,文件格式不是看后缀名,而是看文件头的定义publicclassImgUtil{publicstaticStringimgType(InputStreaminputStream)throwsIOException{//读取文件前几位byte[]fileHeader=newbyte[4];intread=inputStr......
  • JavaScript 的基本规范
    在平常项目开发中,我们遵守一些这样的基本规范,比如说:(1)一个函数作用域中所有的变量声明应该尽量提到函数首部,用一个var声明,不允许出现两个连续的var声明,声明时  如果变量没有值,应该给该变量赋值对应类型的初始值,便于他人阅读代码时,能够一目了然的知道变量对应的类型值。(2)......
  • java-生成二维码/条形码
    前言:  需求:生成二维码/条形码//使用ZXing库<dependencies><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.4.1</version></dependency>&l......
  • java 线上问题跟踪用到的工具
    java线上问题跟踪用到的工具pref可以跟踪jvm进程的方法调用频度分析一些问题gperftools这东西还需要编译安装比较麻烦,需要运维提前安装好arthans阿里的一个在线工具挺不错的jvm内置工具jstat-gcpidjmap-heappidlinux提供的pmap-xpidtop-Hppid查看这个p......
  • C:\Users\17482\Desktop\ERP——test1\SpringBoot-ERP-master\src\main\java
    这个错误表明在你的Java类文件UserImp.java中,找不到MyBatis的注解包org.apache.ibatis.annotations。这个包中包含了MyBatis的注解,比如@Select、@Insert等。首先,请确保你的项目正确引入了MyBatis的依赖。在你的pom.xml文件中应该包含类似以下的依赖配置:<dependency......
  • idea报错,java: 程序包org.apache.ibatis.annotations不存在
    这个错误表明在你的项目中,IDEA找不到MyBatis的注解包org.apache.ibatis.annotations。这个包通常包含了一些MyBatis的注解,比如@Select、@Insert等,用于在接口中定义SQL查询或操作。解决这个问题的方法有几个:1.检查MyBatis依赖:确保在你的Maven或Gradle项目中正确......
  • class lombok.javac.apt.LombokProcessor
    classlombok.javac.apt.LombokProcessor(inunnamedmodule@0x4587f0f9)cannotaccessclasscom.sun.tools.javac.processing.JavacProcessingEnvironment(inmodulejdk.compiler)becausemodulejdk.compilerdoesnotexportcom.sun.tools.javac.processingtounn......
  • Java集合框架之:ArrayList的常见方法使用
    ✨前言✨  Java本文主要介绍JavaArrayList的使用方法教程及示例代码......
  • 大数据实验(Mysql、hbase、redis、MongoDBjava客户端连接)
    1.MySQL启动:虚拟机输入mysql-uroot-p输入密码:hadoop(黑马的mysql密码是hadoop)pom.xml需要引入mysql<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></proper......
  • 在idea中无法查看org.springframework.cglib.core.Signature.java 源码
    一、现象1.点击ideaDownloadSource,没有变化;ChouseSource也无济于事。2.打开下载的源码包,惊奇的发现确实没有对应的源码。3.问题发生在哪儿?原来是这些包原本不属于spring,spring在编译的时候直接修改了包名称。 ......