web-dev-qa-db-ja.com

ポートが占有されていなくても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を開始する方法について何か提案はありますか?

編集

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
21
Mark Bouchard

まず、$ HOSTNAMEとetc/hostsファイルの設定を確認します。psauxまたはnetstat -aonの問題を見つけないでください。

> echo $HOSTNAME

応答>サーバー(など)

> cat /etc/hosts

127.0.0.1以降に「$ HOSTNAME」が表示されない場合は、文字列の最後に追加してください。 start-domainコマンドを再実行してください。

41

現在のホスト名が有効なIPアドレスに変換されるかどうか、/ etc/hostsファイルを確認してください。何かが誤って設定されているか、IPが存在しない単純なものだと思います。

(私の状況では)127.0.0.1アドレスに戻したとき(もちろん、それは他の機能しているIPアドレスに接続されている可能性があります)、glassfishを再び正しく起動できました。

6
Miklos Krivan

小さな可能性:実行中のNetbeansを閉じて、再試行してください。

1
iuiz

Linuxのホスト名を設定すると、centOSで同様の問題が発生しました。ホスト名をlocalhostに設定すると、おそらく問題は解決されます。

コマンド:hostname localhostまたは

redHatベースのLinuxで/ etc/sysconfig/networkファイルを編集します。

幸運を

0
Abbas Tofighi

ファイル/ etc/Host havent PC name with IPがファイルにこの行を追加するという問題。

ip_PC name_PC 192.144.168.2 miserver

これは機能します

http://jvm-Java.blogspot.com.es/2010/12/glassfish-v3-linux-process-already.html

0
jvea

最近(Amazon Web Services-AWSでのみ適用可能)、サーバーをVPCで起動するには、開始するためにかなりの追加設定が必要です(一度オフにする)。重要な手がかり:

 nslookup `hostname`

うまくいくはずです。それが機能しない場合は、それが原因である可能性があります。

次のいずれかを実行できます。1)EC2-classicでサーバーを起動します。2)上記のコマンドを正常に実行できるようにVPC /ホストを構成します。

お役に立てば幸いです。

0
Paul Jowett

やってみました

ps aux | grep glassfish

他のインスタンスが実行されているかどうかを確認するには?

0
Garrett Hall

-step 1 glassfishを起動します-step 2ホスト名を変更します

結果:Glassfishの起動エラー

解決策:1ホスト名を終了し、localhostのままにします

2 Glassfishを開始3 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
gabo34

このエラーが発生したとき、マシンがネットワークに接続されておらず、/etc/hosts/etc/sysconfig/network-scripts/ifcfg-eth0に設定されているIPアドレスにバインドできなかったことが原因であることがわかりました(私はCentOSを使用)。ネットワークを有効にすると(私はVMです)、すぐにうまくいきました。

したがって、私の場合、メッセージは誤解を招くものでした。目的のIPアドレスでポート4848をリッスンしているものは(glassfishが知る限り)何もありませんでしたが、マシン自体が接続されていなかったため、そのポートに接続しようとすると、明らかにエラーが発生しましたネットワークに接続されていません。

0
Richard Wiseman

これを解決するには、新しいホスト名を/ etc/Hostに追加します。これは私のHostファイルの内容です。

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

そして、もう一度asadminを起動してみてください

0
Mozquito