contos新搭建的redis集群,使用客户端可以连接,但使用JedisCluster连接报Could not get a resource from the pool异常

最近搭建redis集群,环境放在阿里云上,系统使用centos6.8。在搭建完成以后,指令可以连接,redis客户端也可以连接,但在java中使用JedisCluster报无法从连接池内获得连接.(Could not get a resource from the pool)。两天内经过网上看到很多解决方案,一直没能解决我当前的问题。最后看到  "kurama2018" 写的文章后,才能得以解决。

解决思路:

           1、查看redis各个节点自动生成的nodes.conf文件,该文件由redis启动后自动生成,且在redis集群后会有redis各节点的详细信息,该文件内容中本该是外网IP的地方变成了内网IP,该原因导致客户端经对key哈希后得到的槽,所对应的请求节点有可能拿到内网ip,导致无法连接。超时后报错。(具体如截图所示)

       2、手动将各节点的内网地址改为相对于的外网地址,然后将各个节点重新启动。启动完成后JedisCluster可正产获取到连接

 

在此做一个笔记,也希望有助于遇到此问题的朋友。

感谢 kurama2018

原文地址:https://www.cnblogs.com/feixuefubing/p/10031449.html

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值