在使用JGroups和Kubernetes上的库贝_平插件测试Apache 2.13.0时,我注意到只有两个代理组成一个集群。任何其他代理都会被忽略,不管它们是在同一时间启动的,还是在以后启动的。
一旦代理1和2建立了一座桥,我就会看到这样的信息:
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):
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:
动态地发现两个以上的节点缺少什么?是否有阻止停止发现/加入过程的参数?
发布于 2020-06-17 15:57:40
好的,connector配置是成功的关键:
tcp://0.0.0.0:61618其他节点无法连接到0.0.0.0。一旦更改为可访问的内容,群集就会形成。在Kubernetes内部,使用主机名很棘手,因此我将其更改为
tcp://${ipv4addr:localhost}:61618当然,属性ipv4addr需要以某种方式注入。对我来说,把JAVA_OPTS设置为-Dipv4addr=$(hostname -i)就能做到这一点。
Artemis集群的向上和向下扩展现在按照预期工作。
https://serverfault.com/questions/1021865
复制相似问题