redis.clients.jedis.exceptions.JedisNoReachableClusterNodeException: No reachable node in cluster

1.前提介绍

redis: 5.0.0版本

jdk:1.8

之前还好着的,今天重新ci部署发现项目报错了

2.报错详细堆栈

Caused by: redis.clients.jedis.exceptions.JedisNoReachableClusterNodeException: No reachable node in cluster
	at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnection(JedisSlotBasedConnectionHandler.java:57)
	at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnectionFromSlot(JedisSlotBasedConnectionHandler.java:74)
	at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:116)
	at redis.clients.jedis.JedisClusterCommand.run(JedisClusterCommand.java:31)
	at redis.clients.jedis.JedisCluster.hincrBy(JedisCluster.java:444)
	at MonitorAdvice$$anonfun$main$1$$anonfun$apply$5$$anonfun$apply$6.apply(MonitorAdvice.scala:96)
	at MonitorAdvice$$anonfun$main$1$$anonfun$apply$5$$anonfun$apply$6.apply(MonitorAdvice.scala:95)
	at scala.collection.Iterator$class.foreach(Iterator.scala:893)
	at org.apache.spark.util.CompletionIterator.foreach(CompletionIterator.scala:26)
	at MonitorAdvice$$anonfun$main$1$$anonfun$apply$5.apply(MonitorAdvice.scala:95)
	at MonitorAdvice$$anonfun$main$1$$anonfun$apply$5.apply(MonitorAdvice.scala:93)
	at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:926)
	at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:926)
	at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:2069)
	at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:2069)
	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
	at org.apache.spark.scheduler.Task.run(Task.scala:108)

3.解决思路

3.1 查看集群是否正常
  • redis-cli 连接上集群
  • 输入cluster info命令
  • 我的集群状态是ok
3.2 查看最近代码提交

查看最近与redis相关的代码提交,发现了如下
伪代码:

JedisCluster jedisCluster = ......

.....do something .....

jedisCluster.close();   // 集群的连接不需要手动释放,集群自动释放

发现问题,注释掉jedisCluster.close()重启项目,解决问题。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值