Подтвердить что ты не робот

Не удалось запустить Glassfish 3.1, хотя порт не занят

У меня возникли проблемы с запуском 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?

Edit

Здесь 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
4b9b3361

Ответ 1

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

> echo $HOSTNAME

response > сервер (или и т.д.)

> cat /etc/hosts

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

Вы пробовали

ps aux | grep glassfish

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

Ответ 6

-ступят 1   начать старую рыбку -шаг 2   изменить имя хоста

результат: ошибка, начинающаяся со стеклянной рыбы

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

2 начинают старую рыбку 3 стоп-фолк

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

5 запустите старую рыбку и он работает!!!

$ 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 Ожидание завершения домена1....... Успешно запустил домен: domain1

Ответ 7

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

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

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

Ответ 8

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

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

изменить/etc/sysconfig/сетевой файл в Linux на основе redHat.

Гудлак

Ответ 9

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

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

Ответ 10

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

 nslookup `hostname`

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

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

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