Распределенное восстановление транзакций Jboss

Я следую следующим инструкциям по этой ссылке: https://github.com/jboss-developer/jboss-eap-quickstarts/tree/7.3.x/jts.

Я использую JBoss-Server-EAP-7.3.0

Я следовал инструкциям и настроил postgresql.

Теперь, когда я пытаюсь запустить свой jboss, используя следующую команду $ {jbossHomeName}/bin/standalone.bat --server-config=standalone-full-ha.xml -Djboss.tx.node.id=UNIQUE_NODE_ID_1

Я не знал, как использовать Djboss.tx.node.id, поэтому я передал ему значения, как показано в приведенной выше команде.

Я получаю следующую ошибку в server.log:

2020-10-02 15:25:53,323 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 88) MSC000001: Failed to start service org.wildfly.clustering.jgroups.channel.ee: org.jboss.msc.service.StartException in service org.wildfly.clustering.jgroups.channel.ee: java.lang.IllegalStateException: java.lang.IllegalArgumentException: failed to start server socket
    at org.wildfly.clustering.service.FunctionalService.start(FunctionalService.java:70)
    at org.wildfly.clustering.service.AsyncServiceConfigurator$AsyncService.lambda$start$0(AsyncServiceConfigurator.java:117)
    at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
    at java.lang.Thread.run(Thread.java:748)
    at org.jboss.threads.JBossThread.run(JBossThread.java:485)
Caused by: java.lang.IllegalStateException: java.lang.IllegalArgumentException: failed to start server socket
    at org.jboss.as.clustering.jgroups.subsystem.ChannelServiceConfigurator.get(ChannelServiceConfigurator.java:116)
    at org.jboss.as.clustering.jgroups.subsystem.ChannelServiceConfigurator.get(ChannelServiceConfigurator.java:58)
    at org.wildfly.clustering.service.FunctionalService.start(FunctionalService.java:67)
    ... 7 more
Caused by: java.lang.IllegalArgumentException: failed to start server socket
    at org.jgroups.protocols.FD_SOCK.down(FD_SOCK.java:339)
    at org.jgroups.protocols.FD_ALL.down(FD_ALL.java:235)
    at org.jgroups.protocols.VERIFY_SUSPECT.down(VERIFY_SUSPECT.java:102)
    at org.jgroups.protocols.pbcast.NAKACK2.down(NAKACK2.java:553)
    at org.jgroups.protocols.UNICAST3.down(UNICAST3.java:581)
    at org.jgroups.protocols.pbcast.STABLE.down(STABLE.java:347)
    at org.jgroups.protocols.pbcast.GMS.down(GMS.java:1037)
    at org.jgroups.protocols.FlowControl.down(FlowControl.java:295)
    at org.jgroups.protocols.FlowControl.down(FlowControl.java:295)
    at org.jgroups.protocols.FRAG3.down(FRAG3.java:135)
    at org.jgroups.protocols.FORK.down(FORK.java:109)
    at org.jgroups.stack.ProtocolStack.down(ProtocolStack.java:928)
    at org.jgroups.JChannel.down(JChannel.java:627)
    at org.jgroups.JChannel._connect(JChannel.java:855)
    at org.jgroups.JChannel.connect(JChannel.java:352)
    at org.jgroups.JChannel.connect(JChannel.java:343)
    at org.jboss.as.clustering.jgroups.subsystem.ChannelServiceConfigurator.get(ChannelServiceConfigurator.java:112)
    ... 9 more
Caused by: java.net.BindException: no port available in range [54200 .. 54250] (bind_addr=/127.0.0.1)
    at org.jgroups.util.Util.createServerSocket(Util.java:3498)
    at org.jgroups.protocols.FD_SOCK.startServerSocket(FD_SOCK.java:582)
    at org.jgroups.protocols.FD_SOCK.down(FD_SOCK.java:336)
    ... 25 more

2020-10-02 15:25:53,471 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "jgroups"),
    ("channel" => "ee")
]) - failure description: {"WFLYCTL0080: Failed services" => {"org.wildfly.clustering.jgroups.channel.ee" => "java.lang.IllegalStateException: java.lang.IllegalArgumentException: failed to start server socket
    Caused by: java.lang.IllegalStateException: java.lang.IllegalArgumentException: failed to start server socket
    Caused by: java.lang.IllegalArgumentException: failed to start server socket
    Caused by: java.net.BindException: no port available in range [54200 .. 54250] (bind_addr=/127.0.0.1)"}}
2020-10-02 15:25:53,518 INFO  [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
WFLYCTL0186:   Services which failed to start:      service org.wildfly.clustering.jgroups.channel.ee: java.lang.IllegalStateException: java.lang.IllegalArgumentException: failed to start server socket

Теперь, если я запускаю следующую команду, standalone.bat --server-config=standalone-full-ha.xml без Djboss.tx.node.id=UNIQUE_NODE_ID_1, я все равно получаю ту же ошибку.

Я гуглил, но не нашел никакой полезной информации.

JBAS010153: свойство идентификатора узла установить значение по умолчанию. Пожалуйста, убедитесь, что он уникален

https://developer.jboss.org/message/880136#880136.

Помимо этих ссылок, я погуглил новую ссылку, но не смог решить эту проблему.

Как избавиться от этой ошибки и как использовать аргумент Djboss.tx.node.id при запуске jboss в распределенной среде.

Я внес незначительное изменение в standalone-full-ha.xml, но отменил это изменение. Но даже после отмены изменений я все равно получаю ту же ошибку.

Пожалуйста, направляйте.

Спасибо.


person Naresh Chaurasia    schedule 02.10.2020    source источник
comment
jboss.tx.node.id просто должен быть разным для каждого сервера в вашем кластере. Ваша текущая проблема no port available in range [54200 .. 54250]   -  person Aaron    schedule 06.10.2020


Ответы (1)


Если вы замените команду
standalone.bat --server-config=standalone-full-ha.xml -Djboss.tx.node.id=UNIQUE_NODE_ID_1
на
standalone.bat -c standalone-full.xml -Djboss.tx.node.id=UNIQUE_NODE_ID_1, все будет работать нормально.

В основном я заменил файл standalone-full-ha.xml на файл standalone-full.xml.

Исходя из моего понимания, я постараюсь ответить на этот вопрос. Если вы проверите эту ссылку: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/6.3/html/administration_and_configuration_guide/sect-configuration_files

В нем четко упоминается об использовании двух файлов xml:

standalone-full.xml

Это пример конфигурации для автономного сервера. Он включает поддержку всех возможных подсистем, кроме тех, которые необходимы для обеспечения высокой доступности.

standalone-full-ha.xml

Это пример конфигурации для автономного сервера. Он включает поддержку всех возможных подсистем, в том числе необходимых для обеспечения высокой доступности.

Как видите, standalone-full-ha.xml поддерживает высокую доступность, а standalone-full.xml нет поддержки высокой доступности.

Используя -Djboss.tx.node.id=UNIQUE_NODE_ID_1, я пытаюсь явно настроить кластер/высокую доступность, поэтому мне нужно использовать standalone-full.xml.

person Naresh Chaurasia    schedule 06.10.2020