当前位置:   article > 正文

jedis——MaxRedirection(Too many Cluster redirections)_too many cluster redirections?; nested exception i

too many cluster redirections?; nested exception is redis.clients.jedis.exce

一、错误描述

exceptioName:redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster redirections?
exceptionInfo:redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsExceptio
  • 1
  • 2

集群的get请求偶尔会有这种MaxRedirection的异常,有时一天有28次异常。

二、问题排查

2.1 redirect参数问题

没有修改过redirect参数,默认redirect的最大重试是5次,排除redirect参数设置的太小问题。

2.2 慢查询和AOF持久化的影响

需要看下是不是因为redis服务器有慢查询或者AOF异步持久化导致的;

经查看后,确认集群没有开启aof持久化功能,看慢查也没发现明显的耗时命令。

2.3 jedis版本问题

之后怀疑是版本问题,业务查看jedis是否是2.8版本以上,版本应该也不存在问题。

2.4 集群问题

一一排除完上述情况后,业务重启了一下服务,好像没这个报错了。

但是过几天之后,又说还是有这个错误。

之后又排查了一下,找了一些资料,如下:

对该错误处理时,并处理了以下两个异常:

JedisMovedDataException:节点重置/迁移后,会抛出该异常

JedisAskDataException: 数据迁移,发生asking问题, 获取asking的Jedis

再次查看集群的节点状态,发现有一个master之前fail了,集群并没有将其剔除出去,而业务那边配置信息里也没有将这个节点删掉

[work@1 cfq]$ redis-cli -h  xxx -p xxx cluster nodes |grep master
33b9d0b2635228cd2e6502831eeb1e8045328ab9 xxx:xx master - 0 1578901264082 8 connected 4096-8191
d1350973ebba4494fb3ac43c5c7e56a8341612fa xxx:xx master - 0 1578901264279 2 connected 8192-12287
dbcb1de135ff5670e34997dcd496dc90939b1f0b xxx:xx master - 0 1578901266234 4 connected 0-4095
60f6394e8de539b1961f0762d4709698741e2438 xxx:xx myself,master - 0 0 9 connected 12288-16383
ecc6110a5aa0045a86deecb3c6e4ac96bf2ba917 xxx:xx master,fail - 1574452925253 1574452919265 7 connected
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

将该fail的节点剔除出去之后,再让业务改一下节点地址,应该就好了.

三、小结

一些很复杂的问题,往往都是很简单的原因造成的,还是得学会抓住问题的本质,一针见血。

参考:
https://segmentfault.com/a/1190000016461888

http://www.javacoder.cn/?p=1381

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/638511
推荐阅读
相关标签
  

闽ICP备14008679号