一个诡异的 JedisConnectionException: Connection refused 问题

点击上方☝Java编程技术乐园,轻松关注!及时获取有趣有料的技术文章做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!出现问题我遇到的一个问题,在连接redis的时…

大家好,又见面了,我是全栈君。

点击上方☝Java编程技术乐园,轻松关注!

及时获取有趣有料的技术文章

做一个积极的人
编码、改bug、提升自己

我有一个乐园,面向编程,春暖花开!

一个诡异的 JedisConnectionException: Connection refused 问题

出现问题

我遇到的一个问题,在连接redis的时候出现了错误!错误如下:

JedisConnectionException: java.net.ConnectException: Connection refused

看错误是 连接被拒绝,网上查了报这个错误的相关解决方案,没有一个可以解决的!


问题就是上面的报错的问题,直接翻译异常就是连接拒绝。 一般情况可能就是网络问题或者配置地址不正确

为了大概还原现场,先说明一下我出现这个问题的背景或者环境吧。

环境说明

redis集群部署在 A(10.102.1.2)服务器上部署,我在B(10.102.1.1)服务器上进行应用的部署,代码中配置好了连接redis集群的配置。

过程描述

启动部署的应用,报上面的错误,各种排查,无法解决!

•使用了 ping,服务器之间是通的。•使用了 telnet ,B服务器能telnet上A redis 的每个端口。没有任何问题!

因为 A(10.102.1.2)服务器的redis也有其他项目的应用在使用,那说明redis本身是没有问题的。

然后去找看到redis集群配置的node.conf 看到如下

一个诡异的 JedisConnectionException: Connection refused 问题

怎么配置的IP都是本地的回环地址(127.0.0.1)!!!

然后去问其他项目在使用这个redis的应用服务是部署在那台机器上的 回答说:和redis是一台机器!(到这里诡异的原因大概知道了)

那这就好接受了,我的连接redis代码和另外一个项目的连接方法一模一样,另一个项目和redis部署在一台机器可以连接上,我的和redis部署不在一台机器就连接不上!那说明这个127.0.0.1 这种集群的配置是有坑的!

因为这台机器这个redis集群还在使用,不重新修改,我于是在A这台机器上有搭建了一套集群(只是用于开发),创建集群的时候使用 服务器IP创建!如下图一个诡异的 JedisConnectionException: Connection refused 问题

然后在应用中修改了redis集群的端口,重启服务,发现连接正常!

总结

本次问题就这样解决 了,花费了很多的时间,刚开始以为代码配置有问题,改了几次代码和配置,都不行!

最后就在沟通中浪费了很多时间,我说我这边不能连接redis,对方提供redis服务的人说我们这边连接的好好的,为什么你连接有问题!

我还能说什么!!!最后我自己查看那台服务器上的redis配置,发现上面配置的可疑点 127.0.0.1 ,自己重新配置一套,验证自己的猜想,最后发现的确就是这个集群创建的问题。

创建集群的命令:

redis-trib.rb create --replicas 1 10.102.1.1:7080 10.102.1.1:7081 10.102.1.1:7082 10.102.1.1:7083 10.102.1.1:7084 10.102.1.1:7085

注意:如果在服务器上创建redis集群,请记得使用服务器IP,不要使用127.0.0.1,避免上面的问题,本机器应用可以访问,其他服务器应用访问有问题!

最后一张图,上面的7080这一套是我自己配置的,下面的6380这一套是之前A(10.102.1.2)服务器上原本有的!

一个诡异的 JedisConnectionException: Connection refused 问题

推荐阅读

掌握JedisPoolConfig参数配置,学会调优技能

一个诡异的 JedisConnectionException: Connection refused 问题

一个诡异的 JedisConnectionException: Connection refused 问题

一个诡异的 JedisConnectionException: Connection refused 问题欢迎长按下图关注公众号一个诡异的 JedisConnectionException: Connection refused 问题

一个诡异的 JedisConnectionException: Connection refused 问题

后台回复【秘籍】,获取珍藏的武功秘籍!

一起来修炼一个诡异的 JedisConnectionException: Connection refused 问题

一个诡异的 JedisConnectionException: Connection refused 问题

黯然~销魂 一个诡异的 JedisConnectionException: Connection refused 问题

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120991.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CentOS7 部署 RAID 磁盘阵列

    CentOS7 部署 RAID 磁盘阵列RAID(RedundantArrayoflndependentDisk独立冗余磁盘阵列)就是把多块独立的物理磁盘按不同的方式组合起来形成一个磁盘组(逻辑硬盘)。从而提供比单个磁盘更高的存储性能和提供数据备份技术。

    2022年5月1日
    173
  • c++语言截取字符串,详解C++ string常用截取字符串方法

    c++语言截取字符串,详解C++ string常用截取字符串方法string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求:find(stringstrSub,npos);find_last_of(stringstrSub,npos);其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子字符串首次出现的位置,否则返回-1;注:(1)find_last_of的npos为从末尾开始寻找的位置。(2)下文中用到的strs…

    2022年5月19日
    28
  • Redis选择数据库分区

    Redis选择数据库分区Redis-cli命令连接:redis-cli命令下选择数据库分区可以有2种方式:1、选择数据库(redis可以有多个数据库,默认情况下是连接数据库0,redis配置文件中通过databasesnum来配置数量)127.0.0.1:6379>select2OK2、那么我们登录的时候,如何制定登录哪个库呢?./redis-cli-n3指定登录下标为3的数据库./redis-cli-n0等价于./redis-cli默认登录下标为0的数据库即使…

    2022年5月7日
    54
  • autoconf介绍1

    autoconf介绍1这里简单整理下这本书的第三章:configureyourprojectwithautoconf书中介绍,循序渐进。第一步:介绍了autoconf和M4宏,并整体运行了一遍,介绍了相关脚本的调用顺序和文件作用。第二步:通过autoconf将Makefile中定义为@VARIABLE@的变量替换,并通过VPATH进行远程构建。第三步:借助autoscan生成configure.ac,并说明文件中的宏含义。

    2022年6月4日
    25
  • oracle字段精度修改,oracle number类型增加精度

    oracle字段精度修改,oracle number类型增加精度oracle迁移到sqlserver时,报错-如下图,查找原因,发现是因为有些表number类型没有设精度导致的,解决方法如下,修改表结构加上精度,加上之后就可以了。考虑到有些表有多个字段没有设精度,所以采取以下方式实现。–split函数createorreplacetypetype_splitastableofvarchar2(4000);/createorreplace…

    2022年7月24日
    7
  • jsonobject string转json_java jsonobject转string

    jsonobject string转json_java jsonobject转string你需要把字符串利用一些字符串函数得到=》{“name”:”小明”,”pwd”:”123″}再转就可以了。比如:entity({“name”:”小明”,”pwd”:”123″})这种就转化不了,会报错。这里的String是有些要求的,首先它要是json格式,其次json格式中不能出现其他的字符。这里的JSONObject对像是不是hutool这些工具类的哦,是java内部自带这个。代码是我手敲的可能会出错。很简单JSONObject有toSting方法直值调用就好。…

    2022年8月23日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号