IDEA springboot 连接虚拟机docker搭建的redis集群连接超时问题 connection timed out: /172.172.0.4:6379 您所在的位置:网站首页 redis集群连接报错 IDEA springboot 连接虚拟机docker搭建的redis集群连接超时问题 connection timed out: /172.172.0.4:6379

IDEA springboot 连接虚拟机docker搭建的redis集群连接超时问题 connection timed out: /172.172.0.4:6379

2023-03-24 12:12| 来源: 网络整理| 查看: 265

我在电脑上面运行虚拟机,在虚拟机使用docker来搭建redis集群,在本地使用IDEA 创建springboot项目连接redis集群,在 set 时出现连接超时的情况

 

最开始以为是防火墙的问题,然后我关闭了,虚拟机和docker容器的防火墙后,依然包这个错。最开始不是很理解,因为确实做了端口映射为什么访问不到呢?

但是不连接集群,连接一个普通的docker里面的单点redis服务又能连接上。在网上看了很久都没有找到解决办法。

然后注意到这里的报错信息

2022-11-30 11:58:16.109 WARN 19164 --- [ioEventLoop-4-3] i.l.core.cluster.RedisClusterClient : connection timed out: /172.172.0.4:6379 2022-11-30 11:58:17.112 WARN 19164 --- [ioEventLoop-4-4] i.l.core.cluster.RedisClusterClient : connection timed out: /172.172.0.6:6379 2022-11-30 11:58:18.116 WARN 19164 --- [ioEventLoop-4-5] i.l.core.cluster.RedisClusterClient : connection timed out: /172.172.0.5:6380 2022-11-30 11:58:19.119 WARN 19164 --- [ioEventLoop-4-6] i.l.core.cluster.RedisClusterClient : connection timed out: /172.172.0.4:6380 2022-11-30 11:58:20.121 WARN 19164 --- [ioEventLoop-4-7] i.l.core.cluster.RedisClusterClient : connection timed out: /172.172.0.5:6379 2022-11-30 11:58:21.127 WARN 19164 --- [ioEventLoop-4-8] i.l.core.cluster.RedisClusterClient : connection timed out: /172.172.0.6:6380

 感觉这个ip有点怪,本地的IDEA直接访问的容器内部的ip,因为没有做路由,而且这个docker网段还是自己创建的用来给docker容器分配静态ip。

然后在本地 ping 了一下这个ip确实ping不通,初步确认就是这个原因

 

解决办法:在本地添加路由,对容器的访问通过虚拟机来进行路由:

route -p add 172.172.0.0 mask 255.255.255.0 192.168.56.133

 

这里的 ip 信息可以在虚拟机中使用 ifconfig 进行查看

配置好后,来ping一下,发现可以ping通

本地运行的 springboot 可以正常连接redis集群

本人菜鸟一枚,如果有说的不好或者有错误的地方希望大家可以提出来。

我自己在这里也还有疑问,为什么连接docker容器中单点的redis可以正常使用,连接集群就请求超时呢?最开始以为是防火墙的原因,因为自己做了端口映射,但是把防火墙关闭后还是无法连接docker搭建的redis集群,希望有大佬可以讲解一下!哈哈哈。

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有