2016-11-23 6 views
6

Ich bekomme unter Fehler, wenn ich versuchte, elastische Suche 5.0 mit Befehl ./elasticsearch zu starten und unter Fehler zu bekommen.Führen Sie elastische Suche als root-Benutzer

[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 

Ich habe versucht, durch die Umstellung auf andere Benutzer zu starten und versucht sudo ./elasticsearch und bekam den gleichen Fehler. Wie startet man die elastische Suche als root Benutzer?

+0

Zweite Zeile: 'java.lang.RuntimeException: kann elasticsearch nicht als root ausführen. Und später wieder: 'verursacht durch: java.lang.RuntimeException: elasticsearch kann nicht als root ausgeführt werden. – Gavin

Antwort

1

Sie können elasticsearch nicht als root starten. Es ist nicht erlaubt und super gefährlich.

Lesen Sie die installation guide, um zu verstehen, wie Sie es abhängig von Ihrem Host richtig installieren.

+7

Wenn ich Installationsanleitung Link suchen wollte, würde ich lieber Google Over Stackoverflow verwenden. –

1

ich hatte das gleiche Problem und ich musste mich mit einem anderen Benutzer verbinden. Aber zuerst musste ich ihm das Recht geben, den bin/elasticsearch auszuführen.

+1

Sie können dies stattdessen als Kommentar veröffentlichen oder erweitern, um weitere Details hinzuzufügen. –

1

Hauptursache für dieses Problem ist: ElasticSearch darf nicht vom Root-Besitzer ausgeführt werden. Es gibt eine weitere Möglichkeit für dieses Problem "Java-Pfad ist nur für den Root-Benutzer festgelegt, nicht für alle anderen Benutzer". Lösung dieses Problems:

Schritt 1: Ändern Sie den Besitz des ElasticSearch-Verzeichnisses von Root zu anderen Benutzer per Befehl. $ sudo chown -R current_user: group_name Elasticsearch-5.5.0

Setp 2: prüfen Java gesetzt in Classpath für den aktuellen Benutzer [nicht nur für root]. Wenn Befehl: $ java -version oder echo $ JAVA_HOME Befehl mit leerem Ergebnis. Das bedeutet, dass wir Java in classpath [system env varible] für den aktuellen Benutzer setzen und dann Schritt 3 befolgen sollten. andernfalls den elasticsearch service starten.

Schritt 3: Die Datei/etc/profile und fügen Sie zwei Zeilen nach Ihrem System dir export JAVA_HOME = "Java dir location"

export PATH = $ JAVA_HOME/bin: $ source Quelle PATH Run $/etc/profile

Nach diesem Lauf elasticSearch Service. Es hat perfekt für mich funktioniert.