“通道关闭:连接错误”

马丁

我已经在AWS上设置了具有两个节点的RabbitMQ集群,并按此处所述启用了HA 然后,我设置了一个弹性负载均衡器5672到实例5672端口的映射,并定期对实例15672端口(HTTP管理端口)进行运行状况检查然后,我启动了两个侦听器(每个节点一个),每个侦听器都有4个使用者,并指向spring.rabbitmq.host负载平衡器的DNS。但是,我会定期出现以下错误:

[E] [2015-03-14 23:13:23,890] [pool-4-thread-9         ] [CachingConnectionFactory        ] [                                    ] Channel shutdown: connection error
[E] [2015-03-14 23:13:23,891] [pool-4-thread-9         ] [CachingConnectionFactory        ] [                                    ] Channel shutdown: connection error
[E] [2015-03-14 23:13:23,891] [pool-4-thread-9         ] [CachingConnectionFactory        ] [                                    ] Channel shutdown: connection error
[E] [2015-03-14 23:13:23,891] [pool-4-thread-9         ] [CachingConnectionFactory        ] [                                    ] Channel shutdown: connection error
[W] [2015-03-14 23:13:24,758] [impleAsyncTaskExecutor-5] [SimpleMessageListenerContainer  ] [                                    ] Consumer raised exception, processing can restart if the connection factory supports it
com.rabbitmq.client.ShutdownSignalException: connection error
    at com.rabbitmq.client.impl.AMQConnection.startShutdown(AMQConnection.java:717) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.AMQConnection.shutdown(AMQConnection.java:707) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:565) ~[amqp-client-3.4.2.jar!/:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_40]
Caused by: java.io.EOFException
    at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:290) ~[?:1.8.0_40]
    at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:139) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:534) ~[amqp-client-3.4.2.jar!/:?]
    ... 1 more
[I] [2015-03-14 23:13:24,761] [impleAsyncTaskExecutor-5] [SimpleMessageListenerContainer  ] [                                    ] Restarting Consumer: tags=[[amq.ctag-H-1ed6xO3GL7qW58bkLUZA]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672qube,1), acknowledgeMode=AUTO local queue size=0
[W] [2015-03-14 23:13:24,762] [impleAsyncTaskExecutor-8] [SimpleMessageListenerContainer  ] [                                    ] Consumer raised exception, processing can restart if the connection factory supports it
com.rabbitmq.client.ShutdownSignalException: connection error
    at com.rabbitmq.client.impl.AMQConnection.startShutdown(AMQConnection.java:717) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.AMQConnection.shutdown(AMQConnection.java:707) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:565) ~[amqp-client-3.4.2.jar!/:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_40]
Caused by: java.io.EOFException
    at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:290) ~[?:1.8.0_40]
    at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:139) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:534) ~[amqp-client-3.4.2.jar!/:?]
    ... 1 more
[I] [2015-03-14 23:13:24,762] [impleAsyncTaskExecutor-8] [SimpleMessageListenerContainer  ] [                                    ] Restarting Consumer: tags=[[amq.ctag-nJAmieDx-kSuxl9arsXiww]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672qube,2), acknowledgeMode=AUTO local queue size=0
[W] [2015-03-14 23:13:24,767] [impleAsyncTaskExecutor-7] [SimpleMessageListenerContainer  ] [                                    ] Consumer raised exception, processing can restart if the connection factory supports it
com.rabbitmq.client.ShutdownSignalException: connection error
    at com.rabbitmq.client.impl.AMQConnection.startShutdown(AMQConnection.java:717) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.AMQConnection.shutdown(AMQConnection.java:707) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:565) ~[amqp-client-3.4.2.jar!/:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_40]
Caused by: java.io.EOFException
    at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:290) ~[?:1.8.0_40]
    at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:139) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:534) ~[amqp-client-3.4.2.jar!/:?]
    ... 1 more
[I] [2015-03-14 23:13:24,768] [impleAsyncTaskExecutor-7] [SimpleMessageListenerContainer  ] [                                    ] Restarting Consumer: tags=[[amq.ctag-PAQvN8P57_9oiElyqYRJWw]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672qube,3), acknowledgeMode=AUTO local queue size=0
[W] [2015-03-14 23:13:24,768] [impleAsyncTaskExecutor-6] [SimpleMessageListenerContainer  ] [                                    ] Consumer raised exception, processing can restart if the connection factory supports it
com.rabbitmq.client.ShutdownSignalException: connection error
    at com.rabbitmq.client.impl.AMQConnection.startShutdown(AMQConnection.java:717) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.AMQConnection.shutdown(AMQConnection.java:707) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:565) ~[amqp-client-3.4.2.jar!/:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_40]
Caused by: java.io.EOFException
    at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:290) ~[?:1.8.0_40]
    at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:139) ~[amqp-client-3.4.2.jar!/:?]
    at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:534) ~[amqp-client-3.4.2.jar!/:?]
    ... 1 more
[I] [2015-03-14 23:13:24,769] [impleAsyncTaskExecutor-6] [SimpleMessageListenerContainer  ] [                                    ] Restarting Consumer: tags=[[amq.ctag-w6apIlL78ViAnTOzx2Qejg]], channel=Cached Rabbit Channel: AMQChannel(amqp://[email protected]:5672qube,4), acknowledgeMode=AUTO local queue size=0

如果我将每个使用者直接指向一个节点(不使用负载平衡器),则不会发生这种情况。是什么导致这种行为?我该如何规避?

加里·罗素

对管理端口执行ping操作不会使amqp连接保持活动状态。

您需要将心跳配置为足够低的值,以防止负载均衡器断开“空闲”连接。

看起来您可能正在使用Spring Boot(基于属性名称),并且当前未requestedHeartbeats作为属性公开您将需要通过rabbitConnectionFactory使用基础Rabbitmq连接工厂心跳设置连接自己的bean来覆盖引导工厂有关详细信息,请参见文档

也就是说,将负载平衡器与Spring AMQP一起使用不会获得任何好处,因为它使用的是单个长期连接。考虑addresses改为属性中配置两个实例,如果第一个实例不可用,它将故障转移到第二个实例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ECM错误:基础连接已关闭:无法建立SSL / TLS安全通道的信任关系

来自分类Dev

正确关闭RabbitMQ通道和连接

来自分类Dev

Rabbitmq 错误 CachingConnectionFactory:1302 - 通道关闭:通道错误;

来自分类Dev

连接关闭错误

来自分类Dev

连接未关闭错误

来自分类Dev

连接关闭错误

来自分类Dev

错误:IPC通道已断开连接

来自分类Dev

子进程错误:错误:通道关闭-节点+原子

来自分类Dev

通过关闭连接流关闭错误

来自分类Dev

Python mysqldb错误关闭连接

来自分类Dev

错误:错误:Redis连接从关闭事件消失

来自分类Dev

Jenkins SEVERE:通道块连接中的I / O错误

来自分类Dev

节点mongodb:错误:由于parseError关闭了连接

来自分类Dev

基础连接已关闭:-WebClient错误

来自分类Dev

在WebSocket ++中关闭连接后出现错误

来自分类Dev

Livepatch 错误:...使用关闭的网络连接

来自分类Dev

长度未知的关闭通道

来自分类Dev

如果我不关闭通道,流和远程连接之类的东西怎么办?

来自分类常见问题

nodejs mysql错误:连接丢失服务器关闭了连接

来自分类Dev

错误:连接丢失:服务器关闭了连接。mysql 节点

来自分类Dev

错误:连接已断开,错误为“错误:服务器在关闭时返回了错误:连接因错误而关闭。”

来自分类Dev

ssh隧道错误:通道3:打开失败:连接失败:连接被拒绝

来自分类Dev

仅接收器应用程序停止 - 通道关闭(smfclient 2)没有错误

来自分类Dev

WCF双工服务通道关闭

来自分类Dev

通道关闭后如何关闭goroutines

来自分类Dev

为什么会出现错误“尝试打开未关闭的连接”?

来自分类Dev

如何使用WampSharp处理错误和关闭连接

来自分类Dev

.NET UDPClient:错误:远程主机强行关闭了现有连接

来自分类Dev

Spring Boot中的Postgres连接已关闭错误

Related 相关文章

  1. 1

    ECM错误:基础连接已关闭:无法建立SSL / TLS安全通道的信任关系

  2. 2

    正确关闭RabbitMQ通道和连接

  3. 3

    Rabbitmq 错误 CachingConnectionFactory:1302 - 通道关闭:通道错误;

  4. 4

    连接关闭错误

  5. 5

    连接未关闭错误

  6. 6

    连接关闭错误

  7. 7

    错误:IPC通道已断开连接

  8. 8

    子进程错误:错误:通道关闭-节点+原子

  9. 9

    通过关闭连接流关闭错误

  10. 10

    Python mysqldb错误关闭连接

  11. 11

    错误:错误:Redis连接从关闭事件消失

  12. 12

    Jenkins SEVERE:通道块连接中的I / O错误

  13. 13

    节点mongodb:错误:由于parseError关闭了连接

  14. 14

    基础连接已关闭:-WebClient错误

  15. 15

    在WebSocket ++中关闭连接后出现错误

  16. 16

    Livepatch 错误:...使用关闭的网络连接

  17. 17

    长度未知的关闭通道

  18. 18

    如果我不关闭通道,流和远程连接之类的东西怎么办?

  19. 19

    nodejs mysql错误:连接丢失服务器关闭了连接

  20. 20

    错误:连接丢失:服务器关闭了连接。mysql 节点

  21. 21

    错误:连接已断开,错误为“错误:服务器在关闭时返回了错误:连接因错误而关闭。”

  22. 22

    ssh隧道错误:通道3:打开失败:连接失败:连接被拒绝

  23. 23

    仅接收器应用程序停止 - 通道关闭(smfclient 2)没有错误

  24. 24

    WCF双工服务通道关闭

  25. 25

    通道关闭后如何关闭goroutines

  26. 26

    为什么会出现错误“尝试打开未关闭的连接”?

  27. 27

    如何使用WampSharp处理错误和关闭连接

  28. 28

    .NET UDPClient:错误:远程主机强行关闭了现有连接

  29. 29

    Spring Boot中的Postgres连接已关闭错误

热门标签

归档