Estou tentando iniciar o glassfish em uma AMI baseada no EBS do Ubuntu 10.04 de 64 bits. Eu usei glassfish em servidores não-ec2 sem problemas, mas em ec2 recebo esta mensagem:
$ sudo -u glassfish bin/asadmin start-domain domain1
There is a process already using the admin port 4848 -- it probably is another instance of a GlassFish server.
Command start-domain failed.
Eu sei que o ec2 requer que as regras de firewall sejam modificadas usando o ec2-authorize para permitir o tráfego externo através do firewall, como eu tive que fazer para fazer o ssh funcionar. Isso ainda não explica o erro de porta quando tudo que eu estou tentando fazer é começar glassfish para que eu possa tentar
$ wget localhost:8080
e verifique se está funcionando.
Isso é muito frustrante e eu realmente aprecio qualquer ajuda.
Obrigado.
ATUALIZAÇÃO FINAL:
Desculpe se você veio aqui procurando por respostas. Eu nunca descobri o que estava causando o problema. Eu criei outra instância nova, instalei o mesmo material e o Glassfish funcionou perfeitamente. Algo, obviamente, foi desossado durante a instalação, mas não tenho ideia do que. Eu acho que continuará sendo um mistério.
ATUALIZAR:
Aqui está o que eu recebo do netstat:
# netstat -nuptl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 462/sshd
tcp6 0 0 :::22 :::* LISTEN 462/sshd
udp 0 0 0.0.0.0:5353 0.0.0.0:* 483/avahi-daemon: r
udp 0 0 0.0.0.0:1194 0.0.0.0:* 589/openvpn
udp 0 0 0.0.0.0:37940 0.0.0.0:* 483/avahi-daemon: r
udp 0 0 0.0.0.0:68 0.0.0.0:* 377/dhclient3
UPDATE: mais uma coisa ...
Eu sei que a opção de kernel "net.ipv6.bindv6only" pode causar problemas com a rede java, então eu configurei isso:
# sysctl -w net.ipv6.bindv6only=0
ATUALIZAÇÃO: Também verifiquei que não tem nada a ver com o número da porta (4848). Como você pode ver aqui, quando mudei a porta do listener de administrador em domain.xml para 4949, recebo uma mensagem semelhante:
# sudo -u glassfish bin/asadmin start-domain domain1
There is a process already using the admin port 4949 -- it probably is another instance of a GlassFish server.
Command start-domain failed.
ATUALIZAÇÃO:
Aqui está o conteúdo de / etc / hosts:
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Eu devo mencionar que eu tenho outro Ubuntu Lucid 10.04 64-bit fatia que não está hospedado no ec2, e configurá-lo da mesma maneira, sem problemas.
O server.log também não oferece muita percepção:
# cat ./server.log
Nov 20, 2010 8:46:49 AM com.sun.enterprise.admin.launcher.GFLauncherLogger info
INFO: JVM invocation command line:
/usr/lib/jvm/java-6-sun-1.6.0.22/bin/java
-cp
/opt/glassfishv3/glassfish/modules/glassfish.jar
-XX:+UnlockDiagnosticVMOptions
-XX:MaxPermSize=192m
-XX:NewRatio=2
-XX:+LogVMOutput
-XX:LogFile=/opt/glassfishv3/glassfish/domains/domain1/logs/jvm.log
-Xmx512m
-client
-javaagent:/opt/glassfishv3/glassfish/lib/monitor/btrace-agent.jar=unsafe=true,noServer=true
-Dosgi.shell.telnet.maxconn=1
-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
-Dfelix.fileinstall.dir=/opt/glassfishv3/glassfish/modules/autostart/
-Djavax.net.ssl.keyStore=/opt/glassfishv3/glassfish/domains/domain1/config/keystore.jks
-Dosgi.shell.telnet.port=6666
-Djava.security.policy=/opt/glassfishv3/glassfish/domains/domain1/config/server.policy
-Dfelix.fileinstall.poll=5000
-Dcom.sun.aas.instanceRoot=/opt/glassfishv3/glassfish/domains/domain1
-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
-Dosgi.shell.telnet.ip=127.0.0.1
-Djava.endorsed.dirs=/opt/glassfishv3/glassfish/modules/endorsed:/opt/glassfishv3/glassfish/lib/endorsed
-Dcom.sun.aas.installRoot=/opt/glassfishv3/glassfish
-Djava.ext.dirs=/usr/lib/jvm/java-6-sun-1.6.0.22/lib/ext:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/ext:/opt/glassfishv3/glassfish/domains/domain1/lib/ext
-Dfelix.fileinstall.bundles.new.start=true
-Djavax.net.ssl.trustStore=/opt/glassfishv3/glassfish/domains/domain1/config/cacerts.jks
-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as
-Djava.security.auth.login.config=/opt/glassfishv3/glassfish/domains/domain1/config/login.conf
-DANTLR_USE_DIRECT_CLASS_LOADING=true
-Dfelix.fileinstall.debug=1
-Dorg.glassfish.web.rfc2109_cookie_names_enforced=false
-Djava.library.path=/opt/glassfishv3/glassfish/lib:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/amd64/server:/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/amd64:/usr/lib/jvm/java-6-sun-1.6.0.22/lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
com.sun.enterprise.glassfish.bootstrap.ASMain
-domainname
domain1
-asadmin-args
start-domain,,,domain1
-instancename
server
-verbose
false
-debug
false
-asadmin-classpath
/opt/glassfishv3/glassfish/modules/admin-cli.jar
-asadmin-classname
com.sun.enterprise.admin.cli.AsadminMain
-upgrade
false
-domaindir
/opt/glassfishv3/glassfish/domains/domain1
-read-stdin
true