Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 即使端口未被占用,也无法启动Glassfish 3.1_Java_Linux_Glassfish 3 - Fatal编程技术网

Java 即使端口未被占用,也无法启动Glassfish 3.1

Java 即使端口未被占用,也无法启动Glassfish 3.1,java,linux,glassfish-3,Java,Linux,Glassfish 3,在新安装的Debian“挤压”服务器上启动Glassfish 3.1时遇到问题。这是一台已设置的测试服务器,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 fail

在新安装的Debian“挤压”服务器上启动Glassfish 3.1时遇到问题。这是一台已设置的测试服务器,
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
有什么建议吗

编辑

以下是执行
asadmin start domain
命令后来自
domain1
server.log
文件:

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
你试过了吗

ps aux | grep glassfish

要查看其他实例是否正在运行?

可能性很小:如果Netbeans正在运行,请关闭它,然后重试。

如果当前主机名转换为有效的IP地址,请检查/etc/hosts文件。 我认为有些配置错误或简单,因为IP不存在


当我把它改回127.0.0.1(在我的情况下)地址(当然它可以是除工作和附加的IP地址之外的任何其他地址)时,glassfish可以重新正常启动。

首先检查$HOSTNAME和etc/hosts文件配置,不要试图发现ps aux或netstat-aon的问题

> echo $HOSTNAME
响应>服务器(或等)

作为响应,如果在127.0.0.1之后看不到“$HOSTNAME”,则将其添加到字符串的末尾。
请重试执行start domain命令

文件/etc/host没有带IP的PC名的问题 在文件中添加这一行

ip_PC名称_PC 192.144.168.2 miserver

这很有效

-步骤1 启动玻璃鱼 -步骤2 更改主机名

结果:启动glassfish时出错

解决方案: 1退出主机名并离开本地主机

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您的主机名

$glassfish4/bin/asadmin起始域
正在等待domain1启动。。。。。。。
已成功启动域:domain1

我通过向/etc/host添加新主机名来解决此问题 这是我的主机文件的内容:

127.0.0.1   localhost
127.0.1.1   mozquito     <--- this is what I add
127.0.0.1本地主机

127.0.1.1 mozquito我在centOS为linux设置主机名时遇到了类似的问题。 将主机名设置为localhost,您的问题可能会得到解决

命令:hostname localhost或

在基于redHat的linux中编辑/etc/sysconfig/network文件


goodluck

当我遇到这个错误时,原来是因为机器没有连接到网络,因此无法绑定到在
/etc/hosts
/etc/sysconfig/network scripts/ifcfg-eth0
中设置的IP地址(我使用的是CentOS)。一旦我启用了网络(我的是一个虚拟机),它就工作得很好

因此,在我的例子中,这条消息是误导性的:在所需IP地址的4848端口上没有(据glassfish所知)任何东西在侦听,但在尝试连接到该端口时显然出现了错误,因为机器本身没有连接到网络。

最近(仅适用于Amazon Web Services AWS),我发现将服务器启动到VPC需要相当多的额外配置(一旦关闭)才能开始。关键线索:

 nslookup `hostname`
应该有用。如果它不起作用,那很可能就是原因

您可以: 1) 将服务器启动到EC2 classic中 2) 将VPC/主机配置为能够成功运行上述命令


希望有帮助。

您是如何安装Glassfish的?您的主机上是否激活了IPV6?您还应该检查域目录中的server.log文件(通常
domain1/logs/server.log
,因为它可能包含更详细的信息。@Andrew是其他人安装的。我相信我们是通过下载a tar并将其解压缩到源服务器上的/opt/glassfish3来安装Glassfish的。这个测试服务器我们直接复制了该文件夹。@fvu没有在主机上启用IPv6。感谢sugg我想看一下日志。我把它贴在上面了。我看不出有什么不寻常的地方。@Mark你能运行jps并分享结果吗?我试过执行那个命令,结果显示glassfish没有运行。这不能保证工作,至少在版本2上是不行的。对于版本2,它是
ps aux|grep PELaunch
你需要的。在Mark中的案例grep glassfish会意外工作,因为他的glassfish安装目录是/opt/glassfish。我正在服务器上运行glassfish,并从命令行调用它。我没有在此服务器上使用Netbeans。有关glassfish如何尝试绑定端口的详细信息,请参阅此问题的错误:更一般地说,主机名必须解析为服务器的IP地址。您可以使用
getent hosts
来解析名称,并使用
ifconfig
列出接口及其IP。在回答这个问题5年后,现在这对我帮助很大,谢谢!
 nslookup `hostname`