connectionfailed get connect fail翻译成中文

2024-09-2601:44:12综合资讯0

点击上方☝Java编程技术乐园,轻松关注!及时获取有趣有料的技术文章

做一个积极的人

编码、改bug、提升自己

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

connectionfailed get connect fail翻译成中文

问题概述

最近在连接redis时遇到了一个棘手的问题!错误信息如下:

错误提示显示连接被拒绝,经过在网上寻找解决方案后,发现没有一个能够解决我的问题!

从错误信息来看,显然是连接被拒绝。一般这种情况可能是由于

网络问题

配置地址不正确

导致的。

为了解释清楚问题的背景,先介绍一下我遇到问题的

环境

环境背景

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

问题过程

启动应用时出现了上述错误,经过各种排查仍无法解决!

使用 ping 测试,确认服务器之间是通的。

使用 telnet 测试,B 服务器能够成功连接到 A 服务器上的 redis 各个端口。

由于 A 服务器上的 redis 还被其他项目使用,说明 redis 本身没有问题。

接下来查看 redis 集群配置的 node.conf 文件,发现所有配置的 IP 地址都是本地回环地址(

127.0.0.1

)!

进一步询问发现,其他使用该 redis 的项目和 redis 部署在同一台机器上(这时问题的大致原因逐渐明朗)。

我的连接方式与另一个项目相同,但由于 redis 不在同一台机器上,导致无法连接!这表明使用 127.0.0.1 的配置存在问题。

由于这台机器上的 redis 集群仍在使用,不能重新配置,于是我在 A 服务器上搭建了一个新的集群(仅用于开发),并在创建集群时使用了服务器的真实 IP 地址。如下图所示:

connectionfailed get connect fail翻译成中文

然后在应用中修改了 redis 集群的端口,重启服务后,连接成功!

这个问题最终得到了解决,虽然花费了大量时间。起初以为是代码配置的问题,调整了几次代码和配置后依然无效!

最后通过沟通浪费了很多时间,我无法连接 redis,对方却表示他们的连接没有问题,这让我非常困惑!

最终,通过检查服务器上的 redis 配置,我发现了问题的根源:127.0.0.1。重新配置后,

验证了我的猜想

,确认是集群创建时的配置问题。

创建集群的命令:

注意:在服务器上创建 redis 集群时,请务必使用服务器 IP 地址,而不是 127.0.0.1,以避免上述问题。本机应用可以访问,但其他服务器的应用可能无法访问!

最后展示一张图,上面的 7080 是我自己配置的,而下面的 6380 是 A 服务器上原有的配置!

connectionfailed get connect fail翻译成中文

推荐阅读

Java编程技术乐园:一个分享编程知识的平台,用技术的视角看世界。跟随资深开发者学习实用技术,每天进步一点点,让小的积累带来大的改变!

欢迎关注!我们会持续推送有趣的技术文章~

如果觉得文章对你有所帮助,请点个赞哦!