zoukankan      html  css  js  c++  java
  • 浅析部署遇到的2个报错:Caused by: java.net.SocketTimeoutException: connect timed out的原因及解决、no suitable node (host-mode port already in use on 1 node)原因及解决

    一、Caused by: java.net.SocketTimeoutException: connect timed out的原因及解决

      部署时碰到一个错误,如下:

    java.net.SocketTimeoutException: connect timed out
        at redis.clients.jedis.Connection.connect(Connection.java:)
        at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:)
        at redis.clients.jedis.Connection.sendCommand(Connection.java:)
        at redis.clients.jedis.Connection.sendCommand(Connection.java:)
        at redis.clients.jedis.BinaryClient.multi(BinaryClient.java:)
        at redis.clients.jedis.BinaryJedis.multi(BinaryJedis.java:)
        at cn.edu.aynu.redis.TestTx.main(TestTx.java:)
    Caused by: java.net.SocketTimeoutException: connect timed out
        at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
        at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:)
        at java.net.Socket.connect(Socket.java:)
        at redis.clients.jedis.Connection.connect(Connection.java:)
        ...  more

      这个其实是 redis 的连接错误,不是数据库的连接报错哦,数据库的连接报错是这个:jdbc connection refused

      具体原因是有多种,比如:ip 写错了,端口没开放,ip无法ping通不允许访问等

      我这里是因为服务器 ip 无法 ping 通,在安全组里放开即可解决。

    二、no suitable node (host-mode port already in use on 1 node)原因及解决

      这个报错意思是:没有合适的节点(主机模式端口已在1个节点上使用)

      其实其意思就是说端口已经被一个节点使用了,后面还有节点想用就用不了了。

      为什么会这样呢?因为我在 compose.yaml 里对外放开了端口映射

      replicas: 2,但是端口映射放开了 8080:8080,三个节点,但是服务器只有一个8080,第一个占用8080,其他的在此之后就起不来了,

      解决办法就是:把端口映射去掉即可。生产环境不需要别人外部通过8080访问服务,所以不需要开放8080的映射。

  • 相关阅读:
    数据库多表查询
    链表的经典习题
    数据库基本概念及简单的单表操作
    Categrory
    2021春招冲刺练习目录
    2012春招冲刺-01.01 关于Cookie、什么是闭包、BFC与盒模型
    2021春招冲刺
    JS中bind,call,apply以及new的用法与实现
    2021春招冲刺-12.30 POST与GET | JS异步任务 | 判断变量类型
    2021春招冲刺-12.29-算法、原型与原型链、文档流
  • 原文地址:https://www.cnblogs.com/goloving/p/15095647.html
Copyright © 2011-2022 走看看