redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cl异常的解决方法,亲测有效,嘿嘿嘿

18-Redis6-集群JAVA开发 参考来源:https://www.bilibili.com/video/BV1Rv41177Af?p=39&spm_id_from=pageDriver 参考来源:https://www.bilibili.com/video/BV1Rv41177Af?p=39&spm_id_from=pageDriver 参考来源:https://www.bilibili.com/video/BV1Rv41177Af?p=39&spm_id_from=pageDriver ... 阅读详情

问题分析

redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster redirections 异常通常发生在与 Redis 集群进行交互时,客户端在尝试执行某个操作(如 GET、SET 等)时,由于某种原因被重定向了太多次。在 Redis 集群中,当一个 key 不在请求的节点上时,该节点会返回一个重定向指令,告诉客户端应该去哪个节点查找该 key。但是,如果重定向的次数超过了客户端设置的阈值(默认通常是 16 次),就会抛出这个异常。

报错原因

这个异常可能由以下原因导致:

  1. 配置错误:Redis 集群的配置可能不正确,导致节点之间无法正确地通信和路由请求。
  2. 网络问题:网络不稳定或节点之间的网络连接存在问题,可能导致重定向指令无法正确传递。
  3. 客户端问题:Jedis 客户端可能配置不正确,或者使用的 Jedis 版本存在已知的 bug。
  4. 集群状态问题:Redis 集群可能处于不稳定状态,如节点失效、分片迁移等。

解决思路

  1. 检查 Redis 集群状态:确保 Redis 集群是健康的,并且所有节点都在线。
  2. 检查网络连接:确保客户端和 Redis 集群节点之间的网络连接是稳定的。
  3. 检查 Redis 集群配置:确保 Redis 集群的配置文件(如 redis.conf)和集群节点的设置是正确的。
  4. 检查 Jedis 客户端配置:确保 Jedis 客户端的配置是正确的,包括集群节点的地址和端口、密码(如果需要的话)等。
  5. 升级 Jedis 客户端:如果你使用的是较旧的 Jedis 版本,尝试升级到最新版本,看看是否可以解决问题。
  6. 查看日志:查看 Redis 集群和 Jedis 客户端的日志,寻找可能的错误或警告信息。

解决方法

以下是一些具体的解决步骤和代码示例:

1. 检查 Redis 集群状态

使用 redis-cli 工具连接到 Redis 集群,并执行 CLUSTER INFO 命令来查看集群的状态。

redis-cli -c -h <redis-cluster-host> -p <redis-cluster-port> CLUSTER INFO
2. 检查网络连接

使用 ping 命令或其他网络工具来测试客户端到 Redis 集群节点的网络连接。

ping <redis-cluster-node-ip>
3. 检查 Redis 集群配置

确保 Redis 集群的配置文件(redis.conf)中的集群相关配置是正确的,并且所有节点都使用了相同的配置。

4. 检查 Jedis 客户端配置

确保 Jedis 客户端的集群配置是正确的。以下是一个使用 Jedis 连接 Redis 集群的示例代码:
下滑查看解决方法

Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7000));
jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7001));
// ... 添加其他节点

JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes);
try {
    // 执行操作,如 get、set 等
    String value = jedisCluster.get("mykey");
    // ...
} finally {
    if (jedisCluster != null) {
        jedisCluster.close();
    }
}

如果 Redis 集群需要密码认证,可以在创建 JedisCluster 时传入密码:

JedisPoolConfig poolConfig = new JedisPoolConfig();
// 配置连接池参数(如果需要的话)

JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes, poolConfig, 1000, 1000, 5, "mypassword", JedisPoolConfig.DEFAULT_MAX_TOTAL);
// ... 执行操作并关闭连接
5. 升级 Jedis 客户端

如果你使用的是较旧的 Jedis 版本,尝试将其升级到最新版本。你可以在 Maven 或 Gradle 中更新 Jedis 的依赖版本。

6. 查看日志

查看 Redis 集群和 Jedis 客户端的日志,寻找可能的错误或警告信息。根据日志中的信息进一步定位问题并解决。

注意事项

在处理这类问题时,要注意以下几点:

  • 确保在修改任何配置或执行任何操作之前,已经备份了所有重要的数据和配置文件。
  • 在进行任何更改后,都要重新检查集群的状态和客户端的配置
Redis一问多答(必背篇) 目录 1.Redis怎么使用? 2.redis为什么快?redis的线程模型 3.redis常用数据结构的底层 1.string 2.list 3.Hash 4.set 5.zset 拓展:为什么SDS最大存储44字节后,编码就从embstr转为raw? 4.缓存穿透如何解决?布隆过滤器 原理: 优点: 缺点: 实现: 总结: 5.什么是大Key和热Key,会造成什么问题,如何解决?系统在某个时刻访问量剧增(热点新闻),造成数据库压力剧增甚至崩溃,怎么办? Big Key 阅读详情

相关推荐

旋转矩阵的左乘与右乘

旋转矩阵左右乘的详细讲解

qq_46619194的博客 3329

Redis Cluster:Too many Cluster redirections异常

一、现象: 我们的redis私有云,对外提供了redis-standalone, redis-sentinel, redis-cluster三种类型的redis服务。 其中redis-cluster, 使用的版本是 Redis Cluster 3.0.2, 客户端是jedis 2.7.2。 有人在使用时候,业务的日志中发现了一些异常(Too many Cluster redirections)。 二、jedis源码分析: 先从jedis源码中找到...

liuxing201122013的专栏 7748

AI人工智能与模拟退火:碰撞出的智慧火花

本文旨在为读者全面介绍模拟退火算法在人工智能领域的应用。我们将涵盖从基础理论到实际实现的完整知识体系,帮助读者理解这一受自然界启发的优化技术如何解决复杂的计算问题。文章首先介绍模拟退火的基本概念,然后深入其工作原理和数学基础,接着通过Python实现展示具体应用,最后讨论实际应用场景和未来发展方向。模拟退火(Simulated Annealing, SA):一种受物理退火过程启发的概率性优化算法能量函数(Energy Function):评估系统状态的函数,对应优化问题的目标函数。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 452

Docker环境下JedisCluster报出的Too many Cluster redirections?异常及解决

异常产生的运行环境是这样的,redis集群部署在docker下,docker宿主机是一台linux的虚拟机,而程序在我本机 今天在使用JedisCluster向redis集群set值的时候,后台突然报出了一个这样的异常: redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster re...

仗键纵码走天涯 1万+

高效复用PCB设计:Cadence Sub-Drawing跨项目复制技巧

本文详细介绍了Cadence Allegro中Sub-Drawing功能的应用技巧,帮助PCB工程师高效复用成熟设计模块。通过分步教学,从精准导出到完美导入,并提供了解决坐标错位与DRC冲突的实用避坑指南。掌握这一技巧能显著提升设计效率,实现团队知识的标准化积累与快速复用。

weixin_29172201的博客 397

【LLM】ms-Swift框架下SFT与GRPO协同优化的高效训练策略

本文深入探讨了ms-Swift框架下监督微调(SFT)与群组相对策略优化(GRPO)的协同训练策略,提升大型语言模型(LLM)的性能与效率。通过创新的架构设计和两阶段训练流程,结合GRPO的群组奖励估计与动态基线调整技术,显著优化了数学推理等任务的准确率。文章还分享了计算资源高效利用和参数调优的实战经验,为LLM训练提供了实用指导。

green的博客 994

已解决redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cl异常的正确解决方法,亲测有效!!!

已解决redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cl异常的正确解决方法,亲测有效!!!

小明的Java问道之路 2402

【SpringBoot】1、创建第一个SpringBoot项目

创建SpringBoot项目可以通过两种方式,1、通过访问:https://start.spring.io/,SpringBoot的官方网站进行创建SpringBoot项目;2、通过工具(例如:Idea)创建SpringBoot项目。本次使用开发工具:Idea创建我的第一个SpringBoot项目。 首先,打开我们的Idea开发工具 选择Create New Poject(创建一个新的项目) ...

JACKAL 21万+

REDIS(Jedis客户端)Too Many Cluster Redirections 异常

REDIS(Jedis客户端)Too Many Cluster Redirections 异常 redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster redirections? 问题原因: 由于redis是单线程处理请求的,如果一条命令执行特别缓慢,那么新到来的请求就会放入tcp队列等待执行,如果待处理的命令堆积的数量超过了tcp队列容忍的长度, 那么就会拒绝该请求。 问题出现的原理: 1、

weixin_44653963的博客 6466

使用Python实现深度学习模型:智能极端天气事件预测

在本项目中,我们成功利用Python和Keras库构建了一个基于LSTM的极端天气预测模型。通过时间序列数据,模型能够识别天气趋势并预测未来的极端天气事件。尽管这是一个简化的示例,但它为实际应用中如何利用深度学习进行天气预测提供了一个很好的基础。随着更精确的数据和更多的特征信息,类似的模型可以进一步扩展到其他极端事件预测上,如风暴预警、气象灾害评估等。

Echo_Wish 730

双重机器学习模型中解释变量是连续变量的代码,看到好多都是0/1变量,如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!    📌 特别说明: 文中部分技术问题来源于真实生产环境及网络公开案例,均经过精挑细选与系统化整理,并结合多位一线资深架构师和工程师多年实战经验沉淀,提

**My Coding Family** 853

JedisClusterMaxRedirectionsException:Too many Cluster redirections

错误信息: Too many Cluster redirections? Exception in thread "main" redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException:Too many Cluster redirections? 这个问题困惑了很久,主要情况表现为:集群状态正常;存有测试数据的单个节点访问正常。(如果集群状态不正常或者单个节点都无法正常访问,先针对性排查问题。) 但是问题在于,为什么单个.

HeyShHeyou的博客 3207

基于机器学习的网络入侵检测系统设计与实现

本文设计并实现了一个基于机器学习的网络入侵检测系统,采用随机森林模型结合KMM算法优化,使用CICIDS2017数据集进行训练。系统包含完整的数据预处理流程、特征工程、模型调优和远程部署方案。实验结果表明,该系统能有效识别多种网络攻击类型,在检测准确率和误报率方面表现优异。研究为网络安全防护提供了新的技术思路和实用工具,具有重要的应用价值。

huanghm88的专栏 318

jedis——MaxRedirection(Too many Cluster redirections)

文章目录一、错误描述二、问题排查2.1 redirect参数问题2.2 慢查询和AOF持久化的影响2.3 jedis版本问题2.4 集群问题三、小结 一、错误描述 exceptioName:redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster redirections? excep...

耕云者~ 4029

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

JedisCluster Client 操作集群 Too many Cluster redirections?

具体缓存的集群信息可以打印出来看看。

DD_Rose的博客 907

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster redirections解决

使用redis的jediscluster客户端进行测试出现以下异常 Exception in thread "main" redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster redirections? 错误原因: 创建redis集群的时候使用的命令是:./redis-t

sudo5zzb的博客 7752

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Redis集群错误:org.springframework.data.redis.TooManyClusterRedirectionsException

1.Spring-data-redis操作redis cluster 如果不设置maxRedirects值,源码中默认为5。一般当此值设置过大时,容易报:Too many Cluster redirections <property name="maxRedirects" value="5" /> 如果不设置clusterTimeOut值,源码中默认为2S。当集群服务器与客户端不在同一服务器上时,容易报:Could not get a resource from the...

s19980228的博客 5394

淘淘商城第38讲——使用Jedis操作集群版Redis时,报错:redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException

问题描述 今天碰到一个问题,那就是在使用Jedis操作集群版Redis时,报了一个如下这样一个错误,具体错误信息记录如下: redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster redirections? at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:34) at re

李阿昀的博客 5599

Redis集群报错JedisClusterMaxRedirectionsException:Too many Cluster redirections?

【更多资讯及资料获取,关注微信公众号号:浅醉JAVA】 网上有很多这样的问题解决方案,但是在我测试时,都无法解决该问题。 经过漫长的折磨,终于找到问题所在,在此记录一下。 报错: redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException:Too many Cluster redirections? 原因: ...

weixin_42629535的博客 7390

Too many Cluster redirections?问题

Too many Cluster redirections问题项目中调用Redis的场合,莫名发生连续的redis访问失败,提示错误为Too many Cluster redirections上网查了很多原因,但尝试后皆未果,后经过测试,发现时Redis集群的某一台机器的防火墙屏蔽导致。注意并非全部防火墙限制,只是有一台机器的白名单里没有加入,导致Redis集群连接错误。猜测问题为Redis内部通信

snack8310的博客 6954

解决:“redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException: No more cluster attempts left”

错误信息:“redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException: No more cluster attempts left” 错误描述: 自己已经解决,还是自己去看redis的官方文档靠谱。以下为解决步骤: 1、redis.conf里面的”bind IP地址“是限制访问IP的,需要注销 2、使用ruby命令开启集群使用的...

SunHongmin 2万+
上一篇: 已解决redis.clients.jedis.exceptions.JedisNoScriptException异常的正确解决方法,亲测有效,嘿嘿嘿
下一篇: redis.clients.jedis.exceptions.JedisClusterException: CLUSTERDOWN The cluster is down异常的正确解决方法,嘿嘿嘿
代码无疆
博客等级 码龄3年 4万+粉丝 305原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值