首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActiveMQ Artemis:不能使用JGroups和KUBE_PING加入两个以上的代理

ActiveMQ Artemis:不能使用JGroups和KUBE_PING加入两个以上的代理
EN

Server Fault用户
提问于 2020-06-17 13:23:54
回答 1查看 825关注 0票数 1

在使用JGroups和Kubernetes上的库贝_平插件测试Apache 2.13.0时,我注意到只有两个代理组成一个集群。任何其他代理都会被忽略,不管它们是在同一时间启动的,还是在以后启动的。

一旦代理1和2建立了一座桥,我就会看到这样的信息:

代码语言:javascript
复制
2020-06-17 13:11:51,416 INFO  [org.apache.activemq.artemis.core.server] AMQ221027: Bridge ClusterConnectionBridge@320cdb5b [name=$.artemis.internal.sf.artemis-cluster.19db4aef-b09c-11ea-924c-02276c4ed44d, queue=QueueImpl[name=$.artemis.internal.sf.artemis-cluster.19db4aef-b09c-11ea-924c-02276c4ed44d, postOffice=PostOfficeImpl [server=ActiveMQServerImpl::serverUUID=094f73d3-b09c-11ea-842e-b65403ac65ce], temp=false]@1a62eadd targetConnector=ServerLocatorImpl (identity=(Cluster-connection-bridge::ClusterConnectionBridge@320cdb5b [name=$.artemis.internal.sf.artemis-cluster.19db4aef-b09c-11ea-924c-02276c4ed44d, queue=QueueImpl[name=$.artemis.internal.sf.artemis-cluster.19db4aef-b09c-11ea-924c-02276c4ed44d, postOffice=PostOfficeImpl [server=ActiveMQServerImpl::serverUUID=094f73d3-b09c-11ea-842e-b65403ac65ce], temp=false]@1a62eadd targetConnector=ServerLocatorImpl [initialConnectors=[TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?port=61618&host=0-0-0-0], discoveryGroupConfiguration=null]]::ClusterConnectionImpl@1466558382[nodeUUID=094f73d3-b09c-11ea-842e-b65403ac65ce, connector=TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?port=61618&host=0-0-0-0, address=, server=ActiveMQServerImpl::serverUUID=094f73d3-b09c-11ea-842e-b65403ac65ce])) [initialConnectors=[TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?port=61618&host=0-0-0-0], discoveryGroupConfiguration=null]] is connected
2020-06-17 13:12:31,127 WARNING [org.jgroups.protocols.pbcast.FLUSH] asa-activemq-artemis-primary-0-51182: waiting for UNBLOCK timed out after 2000 ms

已启动的任何其他代理都不会加入群集。但是,当将添加到jgroups.xml文件时,我可以看到所有节点都在交谈。因此,看起来,一旦第二个代理加入,新代理的发现过程就会停止。同样值得一提的是,它看起来像代理3和4构建自己的集群。

配置(broker.xml):

代码语言:javascript
复制
      tcp://0.0.0.0:61618
    

    
      tcp://0.0.0.0:61618
    

    
      
        5000
        jgroups.xml
        active_broadcast_channel
        netty-connector
      
    

    
      
        jgroups.xml
        active_broadcast_channel
        10000
      
    

    
      
        netty-connector
        500
        true
        STRICT
        
        1

注意,我使用的是Docker映像vromero/activemq-artemis:2.13.0,它将上面显示的配置合并到主broker.xml中。

jgroups.xml

代码语言:javascript
复制

动态地发现两个以上的节点缺少什么?是否有阻止停止发现/加入过程的参数?

EN

回答 1

Server Fault用户

发布于 2020-06-17 15:57:40

好的,connector配置是成功的关键:

代码语言:javascript
复制
    tcp://0.0.0.0:61618

其他节点无法连接到0.0.0.0。一旦更改为可访问的内容,群集就会形成。在Kubernetes内部,使用主机名很棘手,因此我将其更改为

代码语言:javascript
复制
    tcp://${ipv4addr:localhost}:61618

当然,属性ipv4addr需要以某种方式注入。对我来说,把JAVA_OPTS设置为-Dipv4addr=$(hostname -i)就能做到这一点。

Artemis集群的向上和向下扩展现在按照预期工作。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1021865

复制
相关文章

相似问题

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