Невозможно запустить Glassfish 3.1, хотя порт не занят - PullRequest
21 голосов
/ 12 сентября 2011

У меня проблемы с запуском Glassfish 3.1 на недавно установленном сервере Debian "Squeeze". Это тестовый сервер, который был настроен, и установка Glassfish была скопирована с рабочего сервера на этот другой сервер.

Я попытался запустить:

# ./asadmin start-domain
There is a process already using the admin port 4848 -- it probably is another instance of a GlassFish server.
Command start-domain failed.

Я также попытался перезапустить домен, потому что подумал, что он работает:

# ./asadmin restart-domain
Server is not running, will attempt to start it...
There is a process already using the admin port 4848 -- it probably is another instance of a GlassFish server.
Command restart-domain failed.

В этот момент я подтвердил, что Glassfish не работает, поэтому я проверил, занят ли порт 4848:

# netstat -aon | grep 4848

который ничего не возвратил.

У меня есть подозрение, что Glassfish был скопирован с исходного сервера, пока Glassfish еще работал. Может быть, есть какой-то файл pid или файл блокировки, который также был скопирован.

Любые предложения о том, как запустить Glassfish?

Редактировать

Вот файл server.log из domain1 после выполнения команды asadmin start-domain:

Sep 12, 2011 11:18:02 AM com.sun.enterprise.admin.launcher.GFLauncherLogger info
INFO: JVM invocation command line:
/opt/glassfish3/jdk/bin/java
-cp
/opt/glassfish3/glassfish/modules/glassfish.jar
-XX:+UnlockDiagnosticVMOptions
-XX:MaxPermSize=192m
-XX:NewRatio=2
-Xmx512m
-client
-javaagent:/opt/glassfish3/glassfish/lib/monitor/flashlight-agent.jar
-Dosgi.shell.telnet.maxconn=1
-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
-Dfelix.fileinstall.disableConfigSave=false
-Dfelix.fileinstall.dir=/opt/glassfish3/glassfish/modules/autostart/
-Djavax.net.ssl.keyStore=/opt/glassfish3/glassfish/domains/domain1/config/keystore.jks
-Dosgi.shell.telnet.port=6666
-Djava.security.policy=/opt/glassfish3/glassfish/domains/domain1/config/server.policy
-Dfelix.fileinstall.log.level=2
-Dfelix.fileinstall.poll=5000
-Dcom.sun.aas.instanceRoot=/opt/glassfish3/glassfish/domains/domain1
-Dosgi.shell.telnet.ip=127.0.0.1
-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
-Djava.endorsed.dirs=/opt/glassfish3/glassfish/modules/endorsed:/opt/glassfish3/glassfish/lib/endorsed
-Dcom.sun.aas.installRoot=/opt/glassfish3/glassfish
-Djava.ext.dirs=/opt/glassfish3/jdk/lib/ext:/opt/glassfish3/jdk/jre/lib/ext:/opt/glassfish3/glassfish/domains/domain1/lib/ext
-Dfelix.fileinstall.bundles.startTransient=true
-Dfelix.fileinstall.bundles.new.start=true
-Djavax.net.ssl.trustStore=/opt/glassfish3/glassfish/domains/domain1/config/cacerts.jks
-Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command
-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as
-DANTLR_USE_DIRECT_CLASS_LOADING=true
-Djava.security.auth.login.config=/opt/glassfish3/glassfish/domains/domain1/config/login.conf
-Dgosh.args=--nointeractive
-Djava.library.path=/opt/glassfish3/glassfish/lib:/opt/glassfish3/jdk/jre/lib/amd64/server:/opt/glassfish3/jdk/jre/lib/amd64:/opt/glassfish3/jdk/lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
com.sun.enterprise.glassfish.bootstrap.ASMain
-domainname
domain1
-asadmin-args
--host,,,localhost,,,--port,,,4848,,,--secure=false,,,--terse=false,,,--echo=false,,,--interactive=true,,,start-domain,,,--verbose=false,,,--debug=false,,,--domaindir,,,/opt/glassfish3/glassfish/domains,,,domain1
-instancename
server
-verbose
false
-debug
false
-asadmin-classpath
/opt/glassfish3/glassfish/modules/admin-cli.jar
-asadmin-classname
com.sun.enterprise.admin.cli.AsadminMain
-upgrade
false
-type
DAS
-domaindir
/opt/glassfish3/glassfish/domains/domain1
-read-stdin
true

Ответы [ 10 ]

40 голосов
/ 18 июня 2013

Прежде всего проверьте настройки $ HOSTNAME и файла etc / hosts, не пытайтесь найти проблему с ps aux или netstat -aon.

> echo $HOSTNAME

ответ> сервер (или т. Д.)

> cat /etc/hosts

в ответ, если вы не видите «$ HOSTNAME» после 127.0.0.1, добавьте конец строки. Попробуйте еще раз выполнить команду start-domain.

6 голосов
/ 03 мая 2012

Проверьте файл / etc / hosts, если текущее имя хоста преобразуется в действительный IP-адрес. Я думаю, что-то неправильно настроено или просто IP не существует.

Когда я изменил его обратно (в моей ситуации) на адрес 127.0.0.1 (конечно, это мог быть любой другой, кроме рабочего и подключенного IP-адреса), Glassfish можно было снова запустить правильно.

1 голос
/ 13 сентября 2011

Небольшой шанс: закройте Netbeans, если он запущен, и попробуйте снова.

0 голосов
/ 18 марта 2015

В последнее время (применимо только к Amazon Web Services-AWS) я обнаружил, что для запуска сервера в VPC требуется немало дополнительных настроек (если их отключить), чтобы начать работу. Ключ подсказка:

 nslookup `hostname`

должно работать. Если это не сработает, это может быть причиной.

Вы можете либо: 1) запустить сервер в EC2-classic 2) сконфигурируйте ваш VPC / хост, чтобы он мог успешно выполнить указанную выше команду.

Надеюсь, это поможет.

0 голосов
/ 12 января 2015

Когда я столкнулся с этой ошибкой, это произошло из-за того, что машина не была подключена к сети и не могла привязаться к IP-адресу, который был установлен в /etc/hosts и /etc/sysconfig/network-scripts/ifcfg-eth0 (я используюCentOS).Как только я включил сеть (у меня виртуальная машина), она заработала нормально.

Так что в моем случае сообщение вводило в заблуждение: не было (насколько мог судить стеклянная рыбка) что-либо, прослушивающее порт 4848 вжелаемый IP-адрес, но, очевидно, произошла ошибка при попытке подключиться к этому порту, поскольку сам компьютер не был подключен к сети.

0 голосов
/ 24 ноября 2014

Я столкнулся с подобной проблемой в CentOS, когда я установил имя хоста для моего Linux. установите имя вашего хоста на localhost, возможно, ваша проблема будет решена.

команда: имя хоста localhost или

отредактируйте файл / etc / sysconfig / network в Linux на основе RedHat.

Гудлак

0 голосов
/ 25 июня 2014

Я решаю эту проблему, добавляя новое имя хоста в / etc / host, это содержимое моего файла хоста:

127.0.0.1   localhost
127.0.1.1   mozquito     <--- this is what I add

, а затем попробуйте снова запустить ваш asadmin

0 голосов
/ 25 апреля 2014

-шаг 1 start glassfish -step 2 изменение имени хоста

результат: ошибка запуска glassfish

решение: 1 выйти из имени хоста и просто оставить localhost

2 start glassfish3 stop glassfish

4 добавить имя хоста

5 запустить glassfish и все работает !!!

$ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.2 YOURHOSTNAME

$ glassfish4/bin/asadmin start-domain Ожидание запуска domain1 ....... Успешно запущен домен: domain1

0 голосов
/ 21 августа 2013

проблема в том, что файл / etc / host не имеет имени ПК с IP добавить эту строку в файл.

ip_PC name_PC 192.144.168.2 скупой

Это работает

http://jvm -java.blogspot.com.es / 2010/12 / GlassFish-v3-Linux-процесс-already.html

0 голосов
/ 13 сентября 2011

Вы пробовали

ps aux | grep glassfish

чтобы увидеть, запущены ли другие экземпляры?

...