ActiveMQ Artemis服务正在关闭,AMQ144002:推送打开的文件错误



在Artemis Cluster中配置了Master和Slave服务器。主服务被关闭,service-out日志中出现以下异常:

2020-12-07 10:45:40,717 ERROR [org.apache.activemq.artemis.journal] AMQ144002: Error pushing opened file: ActiveMQIOErrorException[errorType=IO_ERROR message=AMQ149000: failed to rename file activemq-data-495656.amq.tmp to activemq-data-495656.amq]
at org.apache.activemq.artemis.core.io.AbstractSequentialFile.renameTo(AbstractSequentialFile.java:160) [artemis-journal-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.core.journal.impl.JournalFilesRepository.createFile0(JournalFilesRepository.java:633) [artemis-journal-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.core.journal.impl.JournalFilesRepository.createFile(JournalFilesRepository.java:574) [artemis-journal-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.core.journal.impl.JournalFilesRepository.takeFile(JournalFilesRepository.java:535) [artemis-journal-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.core.journal.impl.JournalFilesRepository.pushOpenedFile(JournalFilesRepository.java:486) [artemis-journal-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.core.journal.impl.JournalFilesRepository$1.run(JournalFilesRepository.java:92) [artemis-journal-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66) [artemis-commons-2.11.0.jar:2.11.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_271]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_271]
at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.11.0.jar:2.11.0]
2020-12-07 10:45:40,717 WARN  [org.apache.activemq.artemis.core.server] AMQ222010: Critical IO Error, shutting down the server. file=NULL, message=unable to open : ActiveMQIOErrorException[errorType=IO_ERROR message=AMQ149000: failed to rename file activemq-data-495656.amq.tmp to activemq-data-495656.amq]
at org.apache.activemq.artemis.core.io.AbstractSequentialFile.renameTo(AbstractSequentialFile.java:160) [artemis-journal-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.core.journal.impl.JournalFilesRepository.createFile0(JournalFilesRepository.java:633) [artemis-journal-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.core.journal.impl.JournalFilesRepository.createFile(JournalFilesRepository.java:574) [artemis-journal-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.core.journal.impl.JournalFilesRepository.takeFile(JournalFilesRepository.java:535) [artemis-journal-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.core.journal.impl.JournalFilesRepository.pushOpenedFile(JournalFilesRepository.java:486) [artemis-journal-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.core.journal.impl.JournalFilesRepository$1.run(JournalFilesRepository.java:92) [artemis-journal-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.11.0.jar:2.11.0]
at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66) [artemis-commons-2.11.0.jar:2.11.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_271]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_271]
at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.11.0.jar:2.11.0]

ActiveMQ Artemis将在任何被视为"严重"的IO错误时自动关闭。这是因为如果代理不能处理底层持久存储,那么它基本上是没有价值的。因此,最好只是关闭并修复潜在的问题,而不是继续尝试IO操作。失败。

在这种情况下,代理试图重命名一个日志文件,但重命名操作失败。调用java.io.File.renameTo(File)的代理,如果由于任何原因重命名失败,则返回false。不幸的是,renameTo没有指定为什么重命名失败。

由于您使用的是HA,因此所有客户端都应该故障转移到备份并继续正常运行。我的建议是检查文件系统是否存在潜在问题,并在准备好后重新启动主代理。

相关内容

最新更新