tutorial español java linux glassfish-3

español - java ee tutorial



No se puede iniciar Glassfish 3.1 aunque el puerto no esté ocupado (10)

-step 1 start glassfish -step 2 cambia el nombre de host

resultado: error al iniciar glassfish

solución: 1 salir del nombre de host y simplemente dejar localhost

2 start glassfish 3 stop glassfish

4 agregar el nombre de host

5 start glassfish y funciona !!!

$ 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 Esperando a que domain1 se inicie ....... Comenzó exitosamente el dominio: domain1

Tengo problemas para iniciar Glassfish 3.1 en un servidor Debian "Squeeze" recién configurado. Este es un servidor de prueba que se ha configurado y la instalación de Glassfish se copió de un servidor en funcionamiento a este otro servidor.

Intenté correr:

# ./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.

También intenté reiniciar el dominio porque pensé que tal vez se estaba ejecutando:

# ./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.

En este punto, confirmé que Glassfish no se estaba ejecutando, así que verifiqué si el puerto 4848 estaba ocupado:

# netstat -aon | grep 4848

que no devolvió nada.

Tengo la sospecha de que Glassfish se copió del servidor de origen mientras Glassfish todavía se estaba ejecutando. Tal vez haya algún tipo de archivo pid o archivo de bloqueo que también se haya copiado.

¿Alguna sugerencia sobre cómo conseguir Glassfish para comenzar?

Editar

Aquí está el archivo server.log de domain1 después de ejecutar el 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


Cuando encontré este error, resultó que era porque la máquina no estaba conectada a la red y, por lo tanto, no podía vincularse a la dirección IP establecida en /etc/hosts y /etc/sysconfig/network-scripts/ifcfg-eth0 (estoy usando CentOS). Tan pronto como habilité la red (la mía es una máquina virtual) funcionó bien.

Así que el mensaje era engañoso en mi caso: no había nada (en la medida en que glassfish pudiera decir) nada que escuchara en el puerto 4848 en la dirección IP deseada, pero evidentemente hubo un error al intentar conectar a ese puerto porque la máquina en sí no estaba No está conectado a la red.



En primer lugar, compruebe $ HOSTNAME y la configuración del archivo etc / hosts, no intente encontrar un problema con ps aux o netstat -aon.

> echo $HOSTNAME

respuesta> servidor (o etc)

> cat /etc/hosts

en respuesta, si no puede ver "$ HOSTNAME" después de 127.0.0.1, agréguelo al final de la cadena. Intente nuevamente ejecutar el comando start-domain.


Encontré un problema similar en centOS cuando configuré el nombre de host para mi linux. establezca su nombre de host en localhost, probablemente su problema se resolverá.

comando: hostname localhost o

edite el archivo / etc / sysconfig / network en Linux basado en redHat.

buena suerte


Has probado

ps aux | grep glassfish

para ver si otras instancias se están ejecutando?


Pequeña posibilidad: cierre Netbeans si se está ejecutando y vuelva a intentarlo.


Recientemente (solo aplicable en Amazon Web Services-AWS), descubrí que el inicio de un servidor en VPC requiere un poco de configuración adicional (una vez apagado) para comenzar. Una pista clave:

nslookup `hostname`

Deberia trabajar. Si no funciona, es probable que esa sea la razón.

Puede: 1) iniciar un servidor en EC2-classic 2) configurar su VPC / host para que pueda ejecutar el comando anterior con éxito.

Espero que ayude.


Resuelvo esto agregando un nuevo nombre de host a / etc / host. Este es el contenido de mi archivo de host:

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

y luego intente iniciar de nuevo su administrador


Verifique su archivo / etc / hosts si el nombre de host actual se traduce a una dirección IP válida. Creo que algo está mal configurado o simple la IP no existe.

Cuando lo cambié de nuevo (en mi situación) a la dirección 127.0.0.1 (por supuesto, podría ser cualquier otra dirección IP que funcione, pero podría ser iniciada de nuevo correctamente).