繁体   English   中英

JBoss群集无法在一个节点上创建HornetQ的网络连接

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM