首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JBoss群集无法在一个节点中创建HornetQ的网络连接

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

Stack Overflow用户
提问于 2018-03-14 19:39:23
回答 1查看 976关注 0票数 0

我正在尝试在JBoss EAP6.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操作系统中启动节点,第二个节点不会抛出任何异常。我已经读了一些教程,但我不明白原因。

这是消息传递系统的配置。

代码语言:javascript
复制
 <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>

这是关于集群的日志消息。

代码语言:javascript
复制
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

这是在第二个节点中抛出的异常。

代码语言:javascript
复制
 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]
EN

回答 1

Stack Overflow用户

发布于 2018-07-18 21:43:01

应打开standalone.xml中定义的用于套接字绑定“消息传递”的Windows防火墙端口,以便hornetq进行连接。

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49276839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档