[英]Failed to create netty connection of HornetQ: java.net.SocketTimeoutException: connect timed out
[英]JBoss Clustering Failed to create netty connection of HornetQ in one node
我正在尝试在JBoss EAP 6.4实例之间设置集群。 这些实例包括Hornetq配置。 所以我使用的是standalone-full-ha配置。
我正在使用以下命令启动实例
standalone.bat -c standalone-full-ha.xml -b ip1 -u 230.0.0.4 -Djboss.node.name = node1
standalone.sh -b ip2 -c standalone-full-ha.xml -u 230.0.0.4 -Djboss.node.name = node2 -Djboss.socket.binding.port-offset = 100
当我启动服务器时(先启动哪一个都无所谓),第二个节点在重启后会引发Hornetq异常。 第二个节点已安装在Linux系统上。 如果我不使用Windows OS启动节点,则第二个节点不会引发任何异常。 我已经阅读了一些教程,但是我没有理由。
这是消息传递系统的配置。
<subsystem xmlns="urn:jboss:domain:messaging:1.4">
<hornetq-server>
<persistence-enabled>true</persistence-enabled>
<security-enabled>false</security-enabled>
<clustered>true</clustered>
<cluster-password>${jboss.messaging.cluster.password:CHANGE ME!!}</cluster-password>
<journal-type>NIO</journal-type>
<journal-min-files>2</journal-min-files>
<connectors>
<netty-connector name="netty" socket-binding="messaging"/>
<netty-connector name="netty-throughput" socket-binding="messaging-throughput">
<param key="batch-delay" value="50"/>
</netty-connector>
<in-vm-connector name="in-vm" server-id="0"/>
</connectors>
<acceptors>
<netty-acceptor name="netty" socket-binding="messaging"/>
<netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
<param key="batch-delay" value="50"/>
<param key="direct-deliver" value="false"/>
</netty-acceptor>
<in-vm-acceptor name="in-vm" server-id="0"/>
</acceptors>
<broadcast-groups>
<broadcast-group name="bg-group1">
<socket-binding>messaging-group</socket-binding>
<broadcast-period>5000</broadcast-period>
<connector-ref>netty</connector-ref>
</broadcast-group>
</broadcast-groups>
<discovery-groups>
<discovery-group name="dg-group1">
<socket-binding>messaging-group</socket-binding>
<refresh-timeout>10000</refresh-timeout>
</discovery-group>
</discovery-groups>
<cluster-connections>
<cluster-connection name="my-cluster">
<address>jms</address>
<connector-ref>netty</connector-ref>
<discovery-group-ref discovery-group-name="dg-group1"/>
</cluster-connection>
</cluster-connections>
<security-settings>
<security-setting match="#">
<permission type="send" roles="guest"/>
<permission type="consume" roles="guest"/>
<permission type="createNonDurableQueue" roles="guest"/>
<permission type="deleteNonDurableQueue" roles="guest"/>
</security-setting>
</security-settings>
<address-settings>
<address-setting match="#">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<max-size-bytes>10485760</max-size-bytes>
<page-size-bytes>2097152</page-size-bytes>
<address-full-policy>PAGE</address-full-policy>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
<redistribution-delay>1000</redistribution-delay>
</address-setting>
</address-settings>
<jms-connection-factories>
<connection-factory name="InVmConnectionFactory">
<connectors>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/ConnectionFactory"/>
</entries>
</connection-factory>
<connection-factory name="RemoteConnectionFactory">
<connectors>
<connector-ref connector-name="netty"/>
</connectors>
<entries>
<entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
</entries>
<ha>true</ha>
<block-on-acknowledge>true</block-on-acknowledge>
<retry-interval>1000</retry-interval>
<retry-interval-multiplier>1.0</retry-interval-multiplier>
<reconnect-attempts>-1</reconnect-attempts>
</connection-factory>
<pooled-connection-factory name="hornetq-ra">
<transaction mode="xa"/>
<connectors>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/JmsXA"/>
</entries>
</pooled-connection-factory>
</jms-connection-factories>
<jms-destinations>
<jms-queue name="ExpiryQueue">
<entry name="java:/jms/queue/ExpiryQueue"/>
</jms-queue>
<jms-queue name="DLQ">
<entry name="java:/jms/queue/DLQ"/>
</jms-queue>
<jms-queue name="SiGuardServerQueue">
<entry name="java:jboss/exported/queue/siguard/serverQueue"/>
</jms-queue>
<jms-topic name="SiGuardClientTopic">
<entry name="java:jboss/exported/topic/siguard/clientTopic"/>
</jms-topic>
<jms-topic name="SiGuardNodeTopic">
<entry name="java:jboss/exported/topic/siguard/nodeTopic"/>
</jms-topic>
</jms-destinations>
</hornetq-server>
</subsystem>
这是有关群集的日志消息。
12:41:01,656 INFO [org.hornetq.core.server] (Thread-26 (HornetQ-server-HornetQServerImpl::serverUUID=da26d613-275d-11e8-9916-47aa4871a389-1826611860)) HQ221027: Bridge ClusterConnectionBridge@3c035549 [name=sf.my-cluster.4f838502-2756-11e8-a545-6f0f06e5030f, queue=QueueImpl[name=sf.my-cluster.4f838502-2756-11e8-a545-6f0f06e5030f, postOffice=PostOfficeImpl [server=HornetQServerImpl::serverUUID=da26d613-275d-11e8-9916-47aa4871a389]]@26a4798f targetConnector=ServerLocatorImpl (identity=(Cluster-connection-bridge::ClusterConnectionBridge@3c035549 [name=sf.my-cluster.4f838502-2756-11e8-a545-6f0f06e5030f, queue=QueueImpl[name=sf.my-cluster.4f838502-2756-11e8-a545-6f0f06e5030f, postOffice=PostOfficeImpl [server=HornetQServerImpl::serverUUID=da26d613-275d-11e8-9916-47aa4871a389]]@26a4798f targetConnector=ServerLocatorImpl [initialConnectors=[TransportConfiguration(name=netty, factory=org-hornetq-core-remoting-impl-netty-NettyConnectorFactory) ?port=5545&host=158-226-195-192], discoveryGroupConfiguration=null]]::ClusterConnectionImpl@1921711354[nodeUUID=da26d613-275d-11e8-9916-47aa4871a389, connector=TransportConfiguration(name=netty, factory=org-hornetq-core-remoting-impl-netty-NettyConnectorFactory) ?port=5445&host=158-226-195-193, address=jms, server=HornetQServerImpl::serverUUID=da26d613-275d-11e8-9916-47aa4871a389])) [initialConnectors=[TransportConfiguration(name=netty, factory=org-hornetq-core-remoting-impl-netty-NettyConnectorFactory) ?port=5545&host=158-226-195-192], discoveryGroupConfiguration=null]] is connected
这是在第二个节点中引发的异常。
2:18:59,991 ERROR [org.hornetq.core.client] (Thread-8 (HornetQ-server-HornetQServerImpl::serverUUID=4f838502-2756-11e8-a545-6f0f06e5030f-1656714538)) HQ214016: Failed to create netty connection: java.net.SocketTimeoutException: connect timed out
at java.net.PlainSocketImpl.socketConnect(Native Method) [rt.jar:1.8.0_111]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) [rt.jar:1.8.0_111]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) [rt.jar:1.8.0_111]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) [rt.jar:1.8.0_111]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) [rt.jar:1.8.0_111]
at java.net.Socket.connect(Socket.java:589) [rt.jar:1.8.0_111]
at org.jboss.netty.channel.socket.oio.OioClientSocketPipelineSink.connect(OioClientSocketPipelineSink.java:109) [netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.socket.oio.OioClientSocketPipelineSink.eventSunk(OioClientSocketPipelineSink.java:69) [netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.Channels.connect(Channels.java:634) [netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:207) [netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:229) [netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:182) [netty-3.6.10.Final-redhat-1.jar:3.6.10.Final-redhat-1]
at org.hornetq.core.remoting.impl.netty.NettyConnector.createConnection(NettyConnector.java:653) [hornetq-core-client-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
at org.hornetq.core.client.impl.ClientSessionFactoryImpl.getConnection(ClientSessionFactoryImpl.java:1257) [hornetq-core-client-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
at org.hornetq.core.client.impl.ClientSessionFactoryImpl.getConnectionWithRetry(ClientSessionFactoryImpl.java:1103) [hornetq-core-client-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
at org.hornetq.core.client.impl.ClientSessionFactoryImpl.connect(ClientSessionFactoryImpl.java:253) [hornetq-core-client-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:882) [hornetq-core-client-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
at org.hornetq.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:670) [hornetq-core-client-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
at org.hornetq.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:654) [hornetq-core-client-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
at org.hornetq.core.client.impl.ServerLocatorImpl$3.run(ServerLocatorImpl.java:632) [hornetq-core-client-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:105) [hornetq-core-client-2.3.25.Final-redhat-1.jar:2.3.25.Final-redhat-1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_111]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_111]
应该打开standalone.xml中定义的用于套接字绑定“消息传递”的Windows防火墙端口,以供hornetq连接。
<socket-binding-group name='standard-sockets' default-interface='public' port-offset='${jboss.socket.binding.port-offset:0}'>
<socket-binding name='management-native' interface='management' port='${jboss.management.native.port:9999}'/>
<socket-binding name='management-http' interface='management' port='${jboss.management.http.port:9990}'/>
<socket-binding name='management-https' interface='management' port='${jboss.management.https.port:9443}'/>
<socket-binding name='ajp' port='8009'/>
<socket-binding name='http' port='${http.port:8080}'/>
<socket-binding name='https' port='8443'/>
<socket-binding name='jgroups-mping' port='0' multicast-address='${jboss.default.multicast.address:230.0.0.4}' multicast-port='45700'/>
<socket-binding name='jgroups-tcp' port='7600'/>
<socket-binding name='jgroups-tcp-fd' port='57600'/>
<socket-binding name='jgroups-udp' port='55200' multicast-address='${jboss.default.multicast.address:230.0.0.4}' multicast-port='45688'/>
<socket-binding name='jgroups-udp-fd' port='54200'/>
<socket-binding name='messaging' port='5445'/>
<socket-binding name='messaging-group' port='0' multicast-address='${jboss.messaging.group.address:231.7.7.7}' multicast-port='${jboss.messaging.group.port:9876}'/>
<socket-binding name='messaging-throughput' port='5455'/>
<socket-binding name='modcluster' port='0' multicast-address='224.0.1.105' multicast-port='23364'/>
<socket-binding name='remoting' port='4447'/>
<socket-binding name='txn-recovery-environment' port='4712'/>
<socket-binding name='txn-status-manager' port='4713'/>
<socket-binding name='stomp' port='8675'/>
<socket-binding name='stomp-secure' port='8676'/>
</socket-binding-group>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.