Archiver Appliance 建立集群时可能出现的问题

文章讨论了AA(ArchiverAppliance)集群中遇到的问题,包括由于防火墙未开启导致的集群建立错误,以及PV自动分配至不同节点的情况。解决方案包括检查并开启防火墙相应端口,以及在存储策略中指定PV的归属节点以防止负载平衡导致的PV分配异常。此外,文章强调了EPICS_CA_ADDR_LIST的一致性对于集群通信的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0. 背景知识

AA 集群中的各个节点,完全是分布式结构,并不存在主从关系。各个节点共享完全相同的:

  • PVTypeInfo 数据库表
  • PV查询权限和结果(在某一节点上查询所有 PV,也能获取到其他节点中存储的 PV)
  • appliances.xml 文件(集群性质要求我们将此项设为一致)
  • EPICS_CA_ADDR_LIST(集群性质要求我们将此项设为一致)

1. 防火墙未开启导致无法成功建立集群

在 ARCHAPPL_APPLIANCES 指向的 appliances.xml 文件中定义了各个集群节点的 IP 和端口号之后,启动 Archiver Appliance 出错:

[Startup executor] ERROR org.epics.archiverappliance.mgmt.MgmtPostStartup  - Exception running post startup on the management app
org.epics.archiverappliance.config.exception.ConfigException: Exception adding member to cluster
	at org.epics.archiverappliance.config.DefaultConfigService.postStartup(DefaultConfigService.java:532)
	at org.epics.archiverappliance.mgmt.MgmtPostStartup.run(MgmtPostStartup.java:44)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:831)
Caused by: java.lang.IllegalStateException: Node failed to start!
	at com.hazelcast.instance.HazelcastInstanceImpl.<init>(HazelcastInstanceImpl.java:140)
	at com.hazelcast.instance.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:196)
	at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:175)
	at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:125)
	at com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:57)
	at org.epics.archiverappliance.config.DefaultConfigService.postStartup(DefaultConfigService.java:530)
	... 7 more

可以查看集群中其他节点相应的 IP 和端口号是否在防火墙中开启,若未开启,将导致集群建立过程出错。
开启方法:

sudo firewall-cmd --permanent --zone=public --add-port=xxx/tcp
sudo firewall-cmd --reload 

2. 集群会自动为每个PV规划所属节点(appliance)

当两个 AA 服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值