当前位置: 首页 > 知识库问答 >
问题:

JBOSS独立HornetQ组播集群在集群中抛出循环

谢同化
2023-03-14

18:38:14,391警告[org.hornetq.core.server.cluster.impl.clusterConnectionImpl](Thread-4(HornetQ-client-global-threads-20937207))MessageFlow RecordImpl[nodeid=3AFB4E60-Ed20-11E1-831C-109add44C09e,connector=org-Hornetq-Core-remoting-impl-nettyConnectorFactory?name=sf.config-cluster.3AFB4E60-ED20-11E1-831C-109ADD44C09E,PostOffice=PostOfficeImpl[Server=HornetQServerImpl::ServerUUID=458FB681-ED23-11E1-8BBF-C42C031D96AA]]@192B987,IscloseD=false,FirstReset=true]::远程队列绑定JMS.queue.outputQueue458FB681-ED23-11E1-8BBF-C42C031D96AA已在邮局中绑定。最有可能的原因是,由于集群最大跳数太大,集群中出现了一个循环,或者使用重叠的地址与相同节点有多个集群连接

18:38:14,395警告[org.hornetq.core.server.cluster.impl.clusterConnectionImpl](Thread-4(HornetQ-client-global-threads-20937207))MessageFlowRecordImpl[nodeid=3afb4e60-ed20-11e1-831c-109add44c09e,connector=org-hornetq-core-remoting-impl-nettyConnectorFactory?port=5445&host=localhost,queuename=sf.config name=sf.config-cluster.3AFB4E60-ED20-11E1-831C-109ADD44C09E,PostOffice=PostOfficeImpl[Server=HornetQServerImpl::ServerUUID=458FB681-ED23-11E1-8BBF-C42C031D96AA]]@192B987,IscloseD=false,FirstReset=true]::远程队列绑定JMS.queue.ExpiryQueue458FB681-ED23-11E1-8BBF-C42C031D96AA已在邮局中绑定。最有可能的原因是,由于集群最大跳数太大,集群中出现了一个循环,或者使用重叠的地址与相同节点有多个集群连接

12:11:35,018信息[org.hornetq.core.server.cluster.impl.bridgeimpl](线程-20(Hornetq-server-hornetqserverimpl::serveruuid=9287734D-ECED-11E1-B554-C42C031D96AA-11515472))网桥clusterconnectionbridge@17f9401[name=sf.config-cluster.ffb4ee03-ecec-11e1-86b2-109add44c09e,queue=queueimpl 44C09E,PostOffice=PostOfficeImpl[Server=HornetQServerImpl::ServerUUID=9287734D-ECED-11E1-B554-C42C031D96AA]]@CDD17F targetConnector=ServerLocatorImpl(identity=(cluster-connection-bridge::clusterConnectionBridge@17f9401[name=sf.config-cluster.ffb4EE03-ECEC-11E1-86B2-109add44C09E,queue=queueImpl E,PostOffice=PostOfficeImpl[Server=HornetQServerImpl::ServerUUID=9287734D-ECED-11E1-B554-C42C031D96AA]]@CDD17F targetConnector=ServerLocatorImpl[InitialConnectors=[org-hornetq-core-remoting-impl-netty-nettyConnectorFactory?port=5445&host=localhost],DiscoveryGroupConfiguration=null]]::ClusterConNectionImpl@20566889[nodeuuid=9287734D-ECED-11E1-B554-C42C031D96AA,connector=org-hornetq-core-remoting-impl-netty-nettyconnectorFactory?port=5445&host=localhost,address=JMS,server=hornetqserverimpl::serveruuid=9287734d-eced-11E1-B554-C42C031D96AA,DiscoveryGroupConfiguration=null]]已连接

12:11:32,673信息[org.hornetq.core.server.cluster.impl.bridgeimpl](线程-3(Hornetq-server-hornetqserverimpl::serveruuid=9287734D-eced-11e1-b554-c42c031d96aa-11515472))网桥clusterconnectionbridge@147e4f0[name=sf.config-cluster.2ab34008-eced-11e1-ad90-109add5d2b6e,queue=queueimpl[name=sf.config-cluster.2B6E,PostOffice=PostOfficeImpl[Server=HornetQServerImpl::ServerUUID=9287734D-ECED-11E1-B554-C42C031D96AA]]@1074938 targetConnector=ServerLocatorImpl(identity=(cluster-connection-bridge::ClusterConnectionBridge@147E4F0[name=sf.config-cluster.2AB34008-ECED-11E1-AD90-109Add5D2B6E,queue=QueueImpl,PostOffice=PostOfficeImpl[Server=HornetQServerImpl::ServerUUID=9287734D-ECED-11E1-B554-C42C031D96AA]]@1074938 targetConnector=ServerLocatorImpl[InitialConnectors=[org-hornetq-core-remoting-impl-netty-nettyConnectorFactory?port=5445&host=localhost],discoveryGroupConfiguration=null]]::ClusterconnectionImpl@20566889[nodeuuid=9287734D-ECED-11E1-B554-C42C031D96AA,connector=org-hornetq-core-remoting-impl-netty-nettyConnectorFactory?port=5445&host=localhost,address=JMS,,DiscoveryGroupConfiguration=null]]已连接

配置如下:

        <hornetq-server>
            <clustered>true</clustered>
            <persistence-enabled>true</persistence-enabled>
            <cluster-user>myconfig</cluster-user>
            <cluster-password>mycluster</cluster-password>
            <journal-file-size>102400</journal-file-size>
            <journal-min-files>2</journal-min-files>

            <connectors>
                <netty-connector name="netty" socket-binding="messaging"/>
                <in-vm-connector name="in-vm" server-id="5"/>
            </connectors>

            <acceptors>
                <netty-acceptor name="netty" socket-binding="messaging"/>
                <in-vm-acceptor name="in-vm" server-id="5"/>
            </acceptors>

            <broadcast-groups>
                <broadcast-group name="bg-config">
                    <local-bind-port>9877</local-bind-port>
                    <group-address>224.1.22.1</group-address>
                    <group-port>9876</group-port>
                    <broadcast-period>5000</broadcast-period>
                    <connector-ref>
                        netty
                    </connector-ref>
                </broadcast-group>
            </broadcast-groups>

            <discovery-groups>
                <discovery-group name="dg-config">
                    <group-address>224.1.22.1</group-address>
                    <group-port>9876</group-port>
                    <refresh-timeout>10000</refresh-timeout>
                </discovery-group>
            </discovery-groups>

            <cluster-connections>
                <cluster-connection name="config-cluster">
                    <address>jms</address>
                    <connector-ref>netty</connector-ref>
                    <forward-when-no-consumers>true</forward-when-no-consumers>
                    <max-hops>1</max-hops>
                    <discovery-group-ref discovery-group-name="dg-config"/>
                </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>500</redelivery-delay>
                    <max-delivery-attempts>5000</max-delivery-attempts>
                    <max-size-bytes>10485760</max-size-bytes>
                    <address-full-policy>BLOCK</address-full-policy>
                    <message-counter-history-day-limit>10</message-counter-history-day-limit>
                </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-ttl>-1</connection-ttl>
                </connection-factory>
                <connection-factory name="RemoteConnectionFactory">
                    <connectors>
                        <connector-ref connector-name="netty"/>
                    </connectors>
                    <entries>
                        <entry name="RemoteConnectionFactory"/>
                        <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
                    </entries>
                    <connection-ttl>-1</connection-ttl>
                </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="testQueue">
                    <entry name="queue/test"/>
                    <entry name="java:jboss/exported/jms/queue/test"/>
                </jms-queue>
                <jms-queue name="expiryQueue">
                    <entry name="queue/ExpiryQueue"/>
                    <entry name="java:jboss/exported/jms/queue/ExpiryQueue"/>
                </jms-queue>
                <jms-topic name="testTopic">
                    <entry name="topic/test"/>
                    <entry name="java:jboss/exported/jms/topic/test"/>
                </jms-topic>
            </jms-destinations>
        </hornetq-server>
    </subsystem>

共有1个答案

曹嘉许
2023-03-14

erros指的是网络中多播的配置

您可以在hornetq设置上添加上述配置来停止错误消息:

<cluster-connection name="my-cluster">
    <reconnect-attempts>2</reconnect-attempts>
    ...
</cluster-connection>

-1 = infinity (default)
2 = 2 times

但我没有用这个。我将多播地址改为224.0.0.1,而不是默认的231.7.7.7,如下所示:

<socket-binding-group name="full-ha-sockets" default-interface="public">
    ...
    <socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:224.0.0.1}" multicast-port="${jboss.messaging.group.port:9876}"/>
    ...
</socket-binding-group>
 类似资料:
  • 我将使用嵌入在 JBoss EAP 6.2 中的 HornetQ 2.3.12,并且需要一些集群队列。 我是否需要设置 JBoss 集群才能让 JMS 集群由大黄蜂 Q 提供支持,或者大黄蜂 Q 是独立的?根据文档,我认为是后者,因为大黄蜂Q集群是大黄蜂Q的一部分,可以在没有JBoss的情况下存在。 节点通过核心网桥连接,因此部署在每个节点中的应用程序将对队列名称执行本地 JNDI 查找,而无需集

  • 工人出现在图片上。为了运行我的代码,我使用了以下命令:

  • 应用程序不是那么占用内存,有两个连接和写数据集到目录。同样的代码在spark-shell上运行没有任何失败。 寻找群集调优或任何配置设置,这将减少执行器被杀死。

  • 正在尝试让Keyclope与mysql innodb群集配合使用。我已经单独配置了Keyclope。xml符合文档要求。 这是数据源 这是司机 我还添加了module.xml打包mysql jdbc驱动程序(我使用最新版本mysql-connector-java-8.0.21.jar) 运行keydrope时出现的错误是 这方面的任何帮助都会非常有用。

  • 我已经在Kubernetes上建立了Spark独立集群,并试图连接到Kubernetes上没有的Kerberized Hadoop集群。我已经将core-site.xml和hdfs-site.xml放在Spark集群的容器中,并相应地设置了HADOOP_CONF_DIR。我能够成功地在Spark容器中为访问Hadoop集群的principal生成kerberos凭据缓存。但是当我运行spark-s

  • 我计划使用Grails路由插件来包含Camel。 问题是,既然是集群环境,我们将有两个Camel上下文正确(每个节点一个)?如果是这样,两者都将有相同的路线。当源文件夹中存在一个文件时,两个camel上下文会尝试处理该文件吗?我不希望出现两个节点都试图处理文件而导致失败的情况。我只想让文件只由一个camel上下文和路由处理。我是否需要做任何特殊的事情来处理这个场景,或者骆驼有能力在集群中工作?