解决:Redis:could not get resource from the pool

27 篇文章 0 订阅
5 篇文章 0 订阅

记录一次解决生产环境redis集群的问题,

Redis:java.util.NoSuchElementException: Unable to validate object 

原错:

看到这个报错第一印象是,我redis链接数满了?

1.排查第一步:就是登录集群的一个节点,进入/bin目录里

./redis-cli -c -p 7001 -a password(redis密码)

2.查看集群信息是否正常

cluster info

都ok,没问题

cluster nodes

集群节点三主三从也没问题。

3.查看最大链接数和当前链接数

  查看最大链接数 config get maxclients

  当前链接数  info clients

  这个我遇到过不少次,都是在使用连接后没有及时释放

4.查看使用内存

  首先查看当前主机内存是否已满,free -m

  然后 查看使用内存 info memory

  注意:used_memory是使用的内存,我曾经遇到过一次内存很大的一个情况,这个肯定要干掉的

  最大内存如果设置了,还需要设置最大内存策略

5.查看有无慢日志

 慢日志也会导致拿不到链接,这种情况我也曾遇到过,在代码里有人用了keys   abb*的操作命令,这个很耗时的

命令: slowlog get 2

6.查看aof 或rdb的持久化存储文件所在磁盘是否已满

  如果持久化文件所在磁盘已满,也会有这个问题,通过集群的日志也能看到这个错误信息

我现在遇到的问题就是第6点的原因,磁盘满了,,,so easy,就是磁盘满了

 

总结一点,先看应用日志,再看集群redis的日志,从日志中分析问题的原因会加快我们的排查速度,

集群的每个节点主机都要仔细检查下,祝好运~~~

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值