Экземпляры Glassfish не могут запускаться после включения AJP

Я пытаюсь создать кластер с Glassfish 3.1.2.2, я создал кластер, затем экземпляры и запустил их, и все в порядке, затем я включил порт AJP, чтобы сделать балансировщик нагрузки из Apache с mod_jk со следующими шагами (со стороны Glassfish) :

  • Я получил файлы jar (commons-logging-1.1.1.jar, commons-modeler-2.0.1.jar, tomcat-ajp.jar) от tomcat и поместил их в папку lib Glassfish (не домен).
  • Затем я добавил системные свойства (со специальными значениями) для каждого экземпляра:

    AJP_INSTANCE_NAME и AJP_PORT

  • наконец, чтобы включить порты, в параметрах JVM для конфигурации кластера:

    -Dcom.sun.enterprise.web.connector.enableJK=${AJP_PORT} -DjvmRoute=${AJP_INSTANCE_NAME}

И попытался запустить экземпляр, используя следующую команду:

./asadmin start-local-instance --sync=full --node=node1 ins1

И сбой со следующими журналами: Из консоли:

Removing all cached state for instance ins1.
Waiting for ins1 to start ...................................................................................................Error starting instance ins1.
The server exited prematurely with exit code 0.
Before it died, it produced the following output:

Launching GlassFish on Felix platform
[#|2013-04-29T16:46:55.932+0300|INFO|oracle-glassfish3.1.2|com.sun.enterprise.server.logging.GFFileHandler|_ThreadID=1;_ThreadName=main;|Running GlassFish Version: Oracle GlassFish Server 3.1.2.2 (build 5)|#]

[#|2013-04-29T16:46:59.585+0300|INFO|oracle-glassfish3.1.2|org.glassfish.ha.store.spi.BackingStoreFactoryRegistry|_ThreadID=10;_ThreadName=main;|Registered org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy for persistence-type = replicated in BackingStoreFactoryRegistry|#]

[#|2013-04-29T16:47:08.881+0300|INFO|oracle-glassfish3.1.2|javax.enterprise.system.core.transaction.com.sun.jts.CosTransactions|_ThreadID=10;_ThreadName=main;|JTS5014: Recoverable JTS instance, serverId = [100]|#]

[#|2013-04-29T16:47:16.645+0300|INFO|oracle-glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=11;_ThreadName=Grizzly-kernel-thread(1);|Grizzly Framework 1.9.50 started in: 1259ms - bound to [0.0.0.0:28181]|#]

[#|2013-04-29T16:47:16.646+0300|INFO|oracle-glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=12;_ThreadName=Grizzly-kernel-thread(1);|Grizzly Framework 1.9.50 started in: 1872ms - bound to [0.0.0.0:28080]|#]

[#|2013-04-29T16:47:16.833+0300|INFO|oracle-glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=13;_ThreadName=Grizzly-kernel-thread(1);|Grizzly Framework 1.9.50 started in: 219ms - bound to [0.0.0.0:24848]|#]

[#|2013-04-29T16:47:17.308+0300|INFO|oracle-glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=14;_ThreadName=Grizzly-kernel-thread(1);|Grizzly Framework 1.9.50 started in: 175ms - bound to [0.0.0.0:27676]|#]

[#|2013-04-29T16:47:24.329+0300|INFO|oracle-glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=10;_ThreadName=main;|WEB0169: Created HTTP listener [http-listener-1] on host/port [0.0.0.0:28080]|#]

[#|2013-04-29T16:47:24.587+0300|INFO|oracle-glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=10;_ThreadName=main;|WEB0169: Created HTTP listener [http-listener-2] on host/port [0.0.0.0:28181]|#]

[#|2013-04-29T16:47:24.812+0300|INFO|oracle-glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=10;_ThreadName=main;|WEB0169: Created HTTP listener [admin-listener] on host/port [0.0.0.0:24848]|#]

[#|2013-04-29T16:47:24.998+0300|INFO|oracle-glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=10;_ThreadName=main;|WEB0170: Apache mod_jk/jk2 attached to virtual-server [server]  listening on port [9,090]|#]

[#|2013-04-29T16:47:25.058+0300|SEVERE|oracle-glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=10;_ThreadName=main;|Startup service failed to start : com.sun.enterprise.v3.services.impl.WebContainerStarter|#]

[#|2013-04-29T16:47:26.791+0300|INFO|oracle-glassfish3.1.2|javax.enterprise.system.tools.admin.com.sun.enterprise.v3.admin.cluster|_ThreadID=15;_ThreadName=Thread-19;|Server shutdown initiated|#]

[#|2013-04-29T16:47:26.879+0300|INFO|oracle-glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=15;_ThreadName=Thread-19;|Already stopped, so just returning|#]



Command start-local-instance failed.

Редактировать: я поместил первые журналы, прежде чем отключить GMS для теста, я отключил его, но все равно получил журнал в консоли с сообщением об ошибке.


У меня ОС Solaris x86, JDK 1.6u37 Что я сделал здесь Я делал это раньше в 2.1.1 и работал без проблем, но с GF 3.1.2.2 я понятия не имею, что происходит сейчас.


person Al-Mothafar    schedule 30.04.2013    source источник


Ответы (1)


Я просто удивляюсь, почему я сутками работаю над вопросом, а потом, когда пишу вопрос, нахожу решение, смешно. Во всяком случае, я нашел свое решение, но еще не тестировал, но, по крайней мере, я видел порты в статусе «LISTEN»:

Проблема в том, что "-Dcom.sun.enterprise.web.connector.enableJK=${AJP_PORT}" больше не кажется правильным, это в Glassfish 2.1, но в Glassfish 3.1.2 вам нужно:

  1. Из конфигурации вашего кластера --> Конфигурация сети --> Сетевые прослушиватели (щелкните здесь)
  2. Создайте прослушиватель "Новый...".
  3. Fill new listener info :
    • Name it like : jk-connector , port with: ${AJP_PORT} , check on "JK Listener" to enable it , for protocol select "Use an existing protocol" then select "http-listener-1" protocol , for Thread Pool select "http-thread-pool" (not sure about this till now, but used same pool of another listeners).

Затем запустите экземпляры, если они запущены успешно, попробуйте проверить их порты, используя «netstat -an | grep», например: «netstat -an | grep 9090» и так далее.

person Al-Mothafar    schedule 30.04.2013