hornetq не может запуститься, ошибка: NATIVE_ERROR_CANT_OPEN_CLOSE_FILE

Все. Я пытаюсь начать использовать сервер приложений Torquebox (JBoss AS7), и все, кажется, все в порядке, за исключением подсистемы обмена сообщениями. Сначала я думал, что это было ошибкой при настройке моей коробки передач, но потом я скачал автономный HornetQ (2.3.0 final) и попытался запустить bin / start.sh. Произошла такая же ошибка:

21:29:03,128 WARN  [org.hornetq.core.server] HQ222010: Critical IO Error, shutting down the server. file=AIOSequentialFile:/home/gintaras/Downloads/hornetq-2.3.0.Final/bin/../data/journal/hornetq-data-1.hq.tmp, message=Can't open file: HornetQException[errorType=NATIVE_ERROR_CANT_OPEN_CLOSE_FILE message=Can't open file]
at org.hornetq.core.asyncio.impl.AsynchronousFileImpl.init(Native Method) [hornetq-journal.jar:]
at org.hornetq.core.asyncio.impl.AsynchronousFileImpl.open(AsynchronousFileImpl.java:220) [hornetq-journal.jar:]
at org.hornetq.core.journal.impl.AIOSequentialFile.open(AIOSequentialFile.java:190) [hornetq-journal.jar:]

Я также добавил сюда комментарий с дополнительной информацией: https://issues.jboss.org/browse/HORNETQ-818 (последнее сообщение от Gintaras)

Есть идеи, что не так?

3 ответа

Решение

Кажется, вы запускаете систему в конфигурации, которая не поддерживает прямой ввод-вывод. Вы можете просто переключить его на NIO.

   <subsystem xmlns="urn:jboss:domain:messaging:1.1">
        <hornetq-server>
            <persistence-enabled>true</persistence-enabled>
            ...
            **<journal-type>NIO</journal-type>**

libAIO необходим прямой доступ к файлам, то есть DMA и прямая запись, а зашифрованный файл создаст дополнительный слой, поэтому вы не сможете иметь прямой доступ к файлам.

Если вам нужно, вы можете использовать NIO, который будет использовать обычные Java-файлы NIO.

Если вам это не нужно, вам придется убрать каталог журнала из зашифрованных файлов.

Я также написал в теме, которую вы упомянули здесь: https://community.jboss.org/message/750503

Насколько я знаю, шифрование диска не должно быть проблемой до тех пор, пока раздел монтируется, скажем, как ext4. FWIW, вы добавили много информации в этот отчет об ошибке, но ничего о точной версии libaio что вы используете (что было источником проблемы первоначальной ошибки, о которой сообщалось в этом случае).

Вы должны рассмотреть вопрос об этой проблеме на форуме пользователей HornetQ, где больше людей (с опытом работы в штаб-квартире) смогут поделиться своим опытом с вами. Stackru хорошо работает для простых объективных вопросов, но для чего-то, что требует обсуждения, возможно, лучше обратиться к форуму пользователей.

https://community.jboss.org/en/hornetq?view=discussions

В моем случае это было вызвано установкой libaio1 как зависимости Amarok и MySQL. Я не использовал ни одного из двух, поэтому я просто удалил его, и HornetMQ начал нормально.

Другие вопросы по тегам