我正在kubernetes上运行ActiveMQ Artemis,并试图通过共享存储配置高可用性(HA)。但是,我面临着一个问题,即在启用共享商店HA策略之后,主要POD进入重新启动循环。

问题描述 投票:0回答:1

<ha-policy> <shared-store> <primary> <failover-on-shutdown>true</failover-on-shutdown> </primary> </shared-store> </ha-policy>

中学pod <ha-policy> <shared-store> <backup> <allow-failback>false</allow-failback> <failover-on-shutdown>true</failover-on-shutdown> </backup> </shared-store> </ha-policy>

观察的问题:

ERROR [org.apache.activemq.artemis.core.server] AMQ222010: Critical IO Error, shutting down the server. file=Lost NodeManager lock, message=NULL java.io.IOException: lost lock

我尝试了什么变化:

未经HA策略的测试运行,但处于群集模式:

确定定义HA策略,我只是使用相同的PVC(持久卷声明)启动了两个聚集的Artemis节点。

行为观察到:

另一个豆荚变得活跃,而另一个豆荚变得被动。
即使没有明确定义HA策略,也类似于主动的设置。

    问题:
    • 为什么共享商店HA设置会导致“丢失的NodeManager锁”错误,但是一个简单的带有共享存储的群集设置正常?
    • 如果我继续使用没有HA策略的群集设置,但是使用共享存储,这是可以接受的建议方法吗?
    • 运行带有共享存储但没有HA策略的聚类ActiveMQ Artemis设置的风险是什么?
  • 使用
shared-store

ha-policy时,您会看到“ Lost NodeManager锁”,因为该配置会导致经纪人在经纪人运行时主动监视共享文件锁。

没有A
    shared-store
  1. ha-policy
  2. shared-store
  3. 您的主要经纪人可能会丢失共享文件锁定,而不会意识到备份,在这种情况下,备份将激活,并且主要和备份都将同时运行(即分裂的大脑)。因此,我不建议使用共享存储
  4. 没有a
ha-policy
kubernetes activemq-artemis
1个回答
0
投票

我建议您检查共享存储设备的配置和功能,以确保它能够支持独家共享文件锁。我还建议您监视共享存储设备,以确保没有间歇性问题会导致主要经纪人失去锁。

您可以添加
TRACE
logging for Logging
org.apache.activemq.artemis.core.server.impl.FileLockNodeManager

来帮助您确定为什么主要经纪人丢失其共享文件锁。

	
© www.soinside.com 2019 - 2025. All rights reserved.