2011-09-12 15 views
19

मुझे नए सेटअप डेबियन "निचोड़" सर्वर पर Glassfish 3.1 शुरू करने में समस्या हो रही है। यह एक परीक्षण सर्वर है जो सेटअप किया गया है और Glassfish स्थापना किसी अन्य सर्वर से किसी कार्य सर्वर से कॉपी की गई थी।ग्लासफ़िश 3.1 शुरू करने में असमर्थ है, भले ही बंदरगाह पर कब्जा नहीं किया गया है

मैं चल रहा की कोशिश की:

# ./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 तो नहीं चल रहा था मैं करने के लिए जाँच की पर:

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

मैं भी डोमेन को पुन: प्रारंभ क्योंकि मैंने सोचा शायद यह चल रहा था की कोशिश की देखें कि पोर्ट 4848 पर कब्जा कर लिया गया था:

# netstat -aon | grep 4848 

जो नोटिन वापस नहीं आया जी।

मुझे संदेह है कि Glassfish को स्रोत सर्वर से कॉपी किया गया था जबकि Glassfish अभी भी चल रहा था। शायद कुछ प्रकार की पिड फ़ाइल या लॉक फ़ाइल है जिसकी प्रतिलिपि बनाई गई थी।

शुरू करने के लिए 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 
+0

आपने ग्लासफ़िश को कैसे इंस्टॉल किया? – Andrew

+0

आपके होस्ट पर आईपीवी 6 सक्रिय है? आपको डोमेन निर्देशिका में server.log फ़ाइल को भी जांचना चाहिए (अक्सर 'डोमेन 1/लॉग/server.log' क्योंकि इसमें अधिक विस्तृत जानकारी हो सकती है। – fvu

+0

@Andrew किसी और ने इंस्टॉलेशन किया। मुझे विश्वास है कि हमने ग्लासफ़िश को डाउनलोड करके इंस्टॉल किया है टैर और इसे स्रोत सर्वर पर/opt/glassfish3 पर निकालने के लिए। यह परीक्षण सर्वर हमने फ़ोल्डर को सीधे कॉपी किया है। –

उत्तर

34

सबसे पहले $ HOSTNAME और आदि/होस्ट फ़ाइल कॉन्फ़िगरेशन की जांच करें, पीएस ऑक्स या नेटस्टैट -ऑन के साथ कोई समस्या खोजने का प्रयास न करें।

> echo $HOSTNAME 

प्रतिक्रिया> सर्वर (या आदि)

> cat /etc/hosts 

जवाब में आप "$ HOSTNAME" नहीं देख के बाद 127.0.0.1 तो यह स्ट्रिंग के अंत में जोड़ सकते हैं यदि। स्टार्ट-डोमेन कमांड निष्पादित करने के लिए पुनः प्रयास करें।

+0

ग्लासफ़िश पोर्ट को बांधने का प्रयास करने के तरीके के विवरण के लिए, इस समस्या पर बग देखें: https://java.net/jira/browse/GLASSFISH-11489 –

+0

अधिक आम तौर पर, मेजबाननाम को आईपी पते में से किसी एक को हल करना होगा आपके सर्वर के लिए आप 'getent hosts 'का उपयोग करके नाम रिज़ॉल्यूशन कर सकते हैं, और' ifconfig' का उपयोग करके इंटरफेस और उनके आईपी सूचीबद्ध कर सकते हैं। –

0

आप

ps aux | grep glassfish 

यदि अन्य उदाहरण चल रहे हैं करने की कोशिश की है?

+0

मैंने उस आदेश को निष्पादित करने का प्रयास किया और यह दिखाता है कि ग्लासफ़िश नहीं चल रहा है। –

+0

टी टोपी काम करने की गारंटी नहीं है, कम से कम यह संस्करण 2 के साथ नहीं है। संस्करण 2 के लिए यह 'ps aux | है grep PELaunch' आपको चाहिए। मार्क के मामले में grep ग्लासफ़िश दुर्घटना से काम करेगा, क्योंकि उसकी ग्लासफ़िश स्थापना डीआईआर/ऑप्ट/ग्लासफ़िश है। – fvu

1

छोटा मौका: अगर नेटबीन चल रहा है और फिर कोशिश करें तो बंद करें।

+0

मैं एक सर्वर पर ग्लासफ़िश चला रहा हूं और इसे कमांड लाइन से आक्रमण कर रहा हूं। मैं इस सर्वर पर नेटबीन्स का उपयोग नहीं कर रहा हूं। –

+0

मेरे लिए काम किया! धन्यवाद आदमी –

6

यदि वर्तमान होस्टनाम वैध आईपी पते पर अनुवाद करता है तो अपनी/etc/hosts फ़ाइल जांचें। मुझे लगता है कि कुछ गलत तरीके से कॉन्फ़िगर किया गया है या आईपी मौजूद नहीं है।

जब मैंने इसे वापस (मेरी स्थिति में) 127.0.0.1 पते में बदल दिया (निश्चित रूप से यह कोई अन्य काम कर रहा है और काम कर रहा है और संलग्न आईपी पता), कांच की मछली फिर से ठीक से शुरू की जा सकती है।

0

-चरण 1 शुरू glassfish -चरण 2 परिवर्तन होस्ट नाम

परिणाम: त्रुटि शुरू करने glassfish

समाधान: 1 से बाहर निकलें होस्टनाम और बस लोकहोस्ट

छोड़ें

2 शुरू glassfish 3 रोक glassfish

4 होस्ट नाम

5 शुरू glassfish जोड़ सकते हैं और यह काम करता है !!!

$ cat /etc/hosts 127.0.0.1 स्थानीय होस्ट localhost.localdomain localhost4 localhost4.localdomain4 :: 1 स्थानीय होस्ट localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.2 YOURHOSTNAME

$ glassfish4/bin/asadmin start-domain प्रतीक्षा की जा रही डोमेन 1 शुरू करने के लिए ..... करने के लिए/etc/मेजबान नए होस्ट नाम जोड़कर

0

डोमेन 1 मैं इस को हल यह मेरा मेजबान फ़ाइल की सामग्री है:: .. सफलतापूर्वक डोमेन शुरू कर दिया

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

और फिर अपने asadmin

0

मैं CentOS में इसी तरह की समस्या का सामना करना पड़ा जब मैं अपने लिनक्स के लिए होस्ट नाम सेट शुरू की कोशिश करें। अपना होस्टनाम स्थानीयहोस्ट पर सेट करें, शायद आपकी समस्या हल हो जाएगी।

आदेश: होस्ट नाम स्थानीय होस्ट या

संपादित करें/etc/sysconfig/network RedHat आधारित लिनक्स में फ़ाइल।

गुडलक

0

जब मैं इस त्रुटि का सामना किया, यह पता चला है क्योंकि मशीन नेटवर्क से कनेक्ट नहीं किया गया था और इसलिए आईपी पते कि में /etc/hosts और /etc/sysconfig/network-scripts/ifcfg-eth0 (मैं 'स्थापित किया गया था करने के लिए बाध्य नहीं कर पाता था सेंटोस का उपयोग कर मी)। जैसे ही मैंने नेटवर्क सक्षम किया (मेरा एक वीएम है) यह ठीक काम करता है।

तो संदेश मेरे मामले में भ्रामक था: वांछित आईपी पते पर बंदरगाह 4848 पर कुछ भी नहीं सुन रहा था, लेकिन उस बंदरगाह से अटैच करने की कोशिश करते समय स्पष्ट रूप से एक त्रुटि थी क्योंकि मशीन स्वयं नेटवर्क से जुड़ी नहीं थी।

0

हाल ही में (पर अमेजन वेब सेवाओ-एडब्ल्यूएस केवल लागू हो), मैंने पाया कि VPC में एक सर्वर की शुरूआत आरंभ करने के लिए काफी अतिरिक्त विन्यास (एक बार बंद) का एक सा की आवश्यकता है। एक महत्वपूर्ण सुराग:

nslookup `hostname` 

काम करना चाहिए। यदि यह काम नहीं करता है, तो यह कारण होने की संभावना है।

आप या तो कर सकते हैं: 1) EC2-क्लासिक 2 में एक सर्वर का शुभारंभ) अपने VPC/मेजबान कॉन्फ़िगर आदेश सफलतापूर्वक ऊपर चलाने के लिए सक्षम होने के लिए।

उम्मीद है कि मदद करता है।

संबंधित मुद्दे

 संबंधित मुद्दे