2016-11-23 8 views
6

मैं त्रुटि से नीचे हो रहा हूं जब मैंने लोचदार खोज 5.0 को कमांड ./elasticsearch के साथ शुरू करने और त्रुटि से नीचे आने की कोशिश की।रूट उपयोगकर्ता के रूप में लोचदार खोज चलाएं

[2016-11-23T13:44:09,507][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main] 
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root 
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:116) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:103) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.cli.Command.main(Command.java:62) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) ~[elasticsearch-5.0.1.jar:5.0.1] 
Caused by: java.lang.RuntimeException: can not run elasticsearch as root 
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:96) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:155) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:112) ~[elasticsearch-5.0.1.jar:5.0.1] 
    ... 6 more 

मैं अन्य उपयोगकर्ता पर स्विच करके शुरू करने की कोशिश और sudo ./elasticsearch की कोशिश की और एक ही त्रुटि मिली। रूट उपयोगकर्ता के रूप में लोचदार खोज कैसे शुरू करें?

+0

दूसरी पंक्ति: 'java.lang.RuntimeException: elasticsearch रूट के रूप में नहीं चलाया जा सकता है। और फिर बाद में: 'के कारण: java.lang.RuntimeException: elasticsearch को रूट के रूप में नहीं चलाया जा सकता है। – Gavin

उत्तर

1

आप रूट के रूप में elasticsearch शुरू नहीं कर सकते हैं। इसकी अनुमति नहीं है और सुपर खतरनाक है।

installation guide पढ़ें ताकि यह समझने के लिए कि आपके होस्ट के आधार पर इसे ठीक से कैसे इंस्टॉल किया जाए। पहले कहा गया है

+7

अगर मैं इंस्टॉलेशन गाइड लिंक ढूंढना चाहता हूं तो मैं Google पर स्टैक ओवरफ्लो का उपयोग करूंगा। –

1

मैं एक ही समस्या थी और मुझे किसी अन्य उपयोगकर्ता से कनेक्ट करना पड़ा। लेकिन सबसे पहले, मुझे उसे बिन/लोचदार खोज को निष्पादित करने का अधिकार देना पड़ा।

+1

इसे अधिक टिप्पणी के लिए टिप्पणी के रूप में पोस्ट करने या विस्तृत करने पर विचार करें। –

1

इस समस्या का मूल कारण यह है: लोचदार खोज को रूट मालिक से चलाने की अनुमति नहीं है। इस समस्या के लिए एक और संभावना है "जावा पथ रूट उपयोगकर्ता के लिए सेट है केवल अन्य सभी उपयोगकर्ताओं के लिए नहीं"। इस समस्या का समाधान:

चरण 1: लोच से अन्य उपयोगकर्ता को आदेश से लोचदार खोज निर्देशिका के स्वामित्व को बदलें। $ sudo chown आर current_User: GROUP_NAME elasticsearch-5.5.0

setp 2: चेक जावा वर्तमान उपयोगकर्ता के लिए classpath में सेट [न केवल रूट के लिए]। यदि कमांड: $ जावा-वर्जन या $ JAVA_HOME कमांड खाली परिणाम दे रहा है। इसका मतलब है कि हमें वर्तमान उपयोगकर्ता के लिए क्लासपाथ [सिस्टम एनवी वैरिएबल] में जावा सेट करना चाहिए, फिर चरण 3 का पालन करें। अन्यथा लोचदार सेवा शुरू करें।

चरण 3:/etc/प्रोफ़ाइल और अपने सिस्टम निर्देशिका निर्यात JAVA_HOME = "जावा dir स्थान"

निर्यात पथ = $ JAVA_HOME/bin के अनुसार दो पंक्तियाँ जोड़ें संपादित करें: $ पथ भागो $ स्रोत स्रोत/etc/profile

इस दौड़ के बाद elasticSearch सेवा। यह मेरे लिए पूरी तरह से काम किया।

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