Imansible lanciare glassfish su ec2 – non è ansible aprire la port

Sto cercando di avviare glassfish su un AMI basato su EBS di Ubuntu 10.04 a 64 bit. Ho usato vetrofish su server non-ec2 senza problemi, ma su ec2 ho questo messaggio:

 $ sudo -u bottiglia di vetro binario / asadmin domini di dominio1
 C'è un process che utilizza già la port admin 4848 - probabilmente è un'altra istanza di un server GlassFish.
 Il dominio di avvio del command non è riuscito.

So che ec2 richiede che le regole del firewall vengano modificate utilizzando l'authorization EC2 per consentire il traffico esterno attraverso il firewall, come wherevo fare per eseguire l'operazione ssh. Questo ancora non spiega l'errore della port quando tutto quello che sto cercando di fare è avviare il vetroglass in modo da poter provare

  $ wget localhost: 8080 

e assicurati che funzioni.

Questo è molto frustrante e vorrei davvero apprezzare qualsiasi aiuto.

Grazie.

AGGIORNAMENTO FINALE:
Mi dispiace se sei venuto qui a cercare risposte. Non ho mai capito cosa stava causando il problema. Ho creato un altro esempio fresco, ho installato la stessa roba e Glassfish ha funzionato perfettamente. Qualcosa è ovviamente disossato durante l'installazione, ma non ho idea di cosa. Immagino che rimarrà un mistero.

UPDATE: Ecco cosa ottengo da netstat:

 # netstat -nuptl
 Connessioni Internet attive (solo server)
 Proto Recv-Q Send-Q Indirizzo locale Indirizzo estero Stato PID / Nome programma
 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: Ancora una cosa … so che l'opzione kernel "net.ipv6.bindv6only" può causare problemi con la connessione a java, quindi ho impostato questo:

 # sysctl -w net.ipv6.bindv6only = 0

UPDATE: Ho anche verificato che non ha niente a che fare con il numero di port (4848). Come potete vedere qui, quando ho cambiato la port admin-listener in domain.xml a 4949, ho un messaggio simile:

 # sudo -u glass bin bin / asadmin domini di dominio1
 Esiste un process che utilizza già la port di amministrazione 4949 - probabilmente è un'altra istanza di un server GlassFish.
 Il dominio di avvio del command non è riuscito.

AGGIORNARE:
Ecco il contenuto di / etc / hosts:

 127.0.0.1 localhost

 # Le seguenti righe sono auspicabili per host IPv6
 :: 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

Vorrei citare che ho un'altra Ubuntu Lucid 10.04 fetta a 64 bit che NON è ospitata su ec2 e lo imposta in modo esattamente identico senza alcun problema.

Anche server.log non offre una grande conoscenza:

 # cat ./server.log 
 Nov 20, 2010 8:46:49 AM com.sun.enterprise.admin.launcher.GFLauncherLogger informazioni
 INFORMAZIONI: linea di command di invocazione JVM:
 /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
 -cliente
 -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 / pesci vetro / moduli / 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 / domini / 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 / pesci vetro / moduli / approvato: / opt / glassfishv3 / glassfish / lib / approvato
 -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
 -nome del dominio
 domain1
 -asadmin-args
 start-dominio domain1 ,,,
 -instancename
 server
 -verbose
 falso
 -debug
 falso
 -asadmin-classpath
 /opt/glassfishv3/glassfish/modules/admin-cli.jar
 -asadmin-nomeclass
 com.sun.enterprise.admin.cli.AsadminMain
 -upgrade
 falso
 -domaindir
 / Opt / glassfishv3 / GlassFish / domini / domain1
 -Leggi-stdin
 vero

  • Comunicazione tra Apache e glassfish
  • nginx problemi di vetro proxy inverso
  • 5 Solutions collect form web for “Imansible lanciare glassfish su ec2 – non è ansible aprire la port”

    Hai ragione – firewalling non ha niente a che fare con la port aperta (supposto TCP?).

    netstat è il tuo amico. Qualcosa di simile a netstat -nupt -l vi darà un'indicazione di quali processi stanno ascoltando su quali porte.

    Facci sapere l'output di quel command e se aiuta a indicarvi nella giusta direzione.

    Non so perché il tuo file host sia stato portto avanti, in quanto questi non hanno nulla a che fare con l'altro.

    Questo mi suona (basato sulle revisioni) che non sta ascoltando qualcosa sulla port, ma che tu abbia configurato due cose per ascoltare sulla stessa port nella stessa istanza di Glassfish. Quindi, se si avvia Glassfish e si tenta di lanciare gli ascoltatori su ciascuna delle porte, esso non riuscirà e quindi spegnerà i servizi precedentemente avviati. Quindi, quando si utilizza netstat prima e dopo, esso segnalerà correttamente che nulla sta attualmente ascoltando sulle porte.

    Controllare che ognuno dei tuoi ascoltatori sia in una port diversa usando l' asadmin , e scommetto che troverai che il numero di port viene utilizzato due volte. O potrebbe semplicemente essere che l'initialization sta causando due istanze di avvio contemporaneamente, che avrebbe lo stesso comportmento. Puoi provare a configurare un dominio brandnew in diverse porte per vedere se hai un problema simile?

    Buona fortuna!

    AGGIORNAMENTO: prova a utilizzare tutti i listener:

     asadmin get server | grep -i listener 

    lo stesso problema qui. È correlato a / etc / hosts che ho fatto un cat / etc / hostname e ho aggiunto questo per 127.0.0.1

    Questo errore viene generato non solo quando la port viene presa, ma anche erroneamente quando c'è un errore con il /etc/hosts .

    Assicurarsi di avere le definizioni appropriate per il tuo hostname (lo hai cambiato di recente?) Nel file e che non manca. Ad esempio, se hai appena modificato il nome host (tramite il hostname o in /etc/hostname ) su server.example.com , assicurati che il /etc/hosts ha:

     127.0.0.1 server.example.com localhost 

    Recentemente ho scoperto che il lancio di un server in VPC richiede un po 'di configuration aggiuntiva (una volta spento) per iniziare. Un indizio chiave:

      nslookup `hostname` 

    dovrebbe funzionare. Se non funziona, probabilmente sarà la ragione.

    Puoi: 1) lanciare un server in EC2-classic 2) configurare VPC / host per poter eseguire correttamente il command.

    Spero possa aiutare.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.