Ich habe Elasticsearch erfolgreich unter Windows 7 Version x64 mit ELS 1.4.1 installiert. Nach dem Upgrade auf Kibana 4 RTM war ELS 1.4.4 erforderlich.
Um das Upgrade durchzuführen, habe ich folgende Schritte ausgeführt:
# Helps Chrome work properly
http.cors.allow-Origin: "/.*/"
http.cors.enabled: true
Beim Starten des Dienstes stoppt der Dienst innerhalb weniger Sekunden. Die Protokolle lauten wie folgt:
(Beachten Sie, dass dies zu Entwicklungszwecken ist)
Java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) Client VM (build 25.31-b07, mixed mode, sharing)
The Elasticsearch 1.4.4 (elasticsearch) service terminated with service-specific error Incorrect function..
2015-02-20 08:49:13 Commons Daemon procrun stderr initialized
Exception in thread "main" ror: Could not initialize class org.elasticsearch.Version
at org.elasticsearch.bootstrap.Bootstrap.buildErrorMessage(Bootstrap.Java:254)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.Java:238)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.Java:32)
The data area passed to a system call is too small.
Failed to start service
2015-02-20 08:46:03 Commons Daemon procrun stdout initialized
[2015-02-20 08:49:14] [info] ( prunsrv.c:1284) [ 8560] Service started in 1198 ms.
[2015-02-20 08:49:14] [debug] ( prunsrv.c:844 ) [ 8560] reportServiceStatusE: 4, 0, 0, 0
[2015-02-20 08:49:14] [debug] ( prunsrv.c:1528) [ 8560] Waiting for worker to finish...
[2015-02-20 08:49:14] [debug] ( prunsrv.c:1533) [ 8560] Worker finished.
[2015-02-20 08:49:14] [debug] ( prunsrv.c:1559) [ 8560] Waiting for all threads to exit
[2015-02-20 08:49:14] [debug] ( prunsrv.c:844 ) [ 8560] reportServiceStatusE: 3, 0, 0, 0
[2015-02-20 08:49:14] [debug] ( prunsrv.c:1563) [ 8560] JVM destroyed.
[2015-02-20 08:49:14] [debug] ( prunsrv.c:844 ) [ 8560] reportServiceStatusE: 1, 1066, 0, 1
[2015-02-20 08:49:14] [info] ( prunsrv.c:1598) [10064] Run service finished.
[2015-02-20 08:49:14] [info] ( prunsrv.c:1764) [10064] Commons Daemon procrun finished
[2015-02-20 08:49:14] [info] ( prunsrv.c:1764) [10064] Commons Daemon procrun finished
[2015-02-20 08:49:16] [error] ( prunsrv.c:746 ) [10116] Failed to start 'elasticsearch' service
[2015-02-20 08:49:16] [error] ( prunsrv.c:746 ) [10116] The data area passed to a system call is too small.
[2015-02-20 08:49:16] [info] ( prunsrv.c:754 ) [10116] Start service finished.
[2015-02-20 08:49:16] [error] ( prunsrv.c:1755) [10116] Commons Daemon procrun failed with exit value: 5 (Failed to start service)
[2015-02-20 08:49:16] [error] ( prunsrv.c:1755) [10116] The data area passed to a system call is too small.
Wenn ich elasticsearch über den Befehl Prompt starte, erhalte ich diesen Fehler:
c:\elk\elasticsearch\bin>elasticsearch
Exception in thread "main" Java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.Version
at org.elasticsearch.bootstrap.Bootstrap.buildErrorMessage(Bootstrap.Java:254)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.Java:238)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.Java:32)
Ich hatte genau das gleiche Problem und hier habe ich es behoben.
Ich verwende Windows Server 2008 R2 Enterprise
- 64-Bit-Version. Alles funktionierte gut mit der Java (JRE) -Version 1.8.0_25
. Die elastische Suche wurde als Windows-Dienst installiert.
Genau vor dem Problem habe ich Java auf Version 1.8.0_31
aktualisiert und die Maschine neu gestartet.
Nach dem Neustart der Maschine habe ich festgestellt, dass der ElasticSearch-Dienst gestoppt wurde. Nach dem Startversuch stoppte es erneut.
Folgendes erhalte ich in meinem Ereignisprotokoll für die Ausgabe:
Der Dienst Elasticsearch 1.4.1 (elasticsearch-service-x64) wurde mit dienstspezifischen Fehlern beendet. Falsche Funktion.
Folgendes hatte ich in meinem elasticsearch-service-x64.2015-02-27.log
:
[2015-02-27 14:38:29] [info] [ 4948] Commons Daemon procrun (1.0.15.0 64-bit) started
[2015-02-27 14:38:29] [info] [ 4948] Running 'elasticsearch-service-x64' Service...
[2015-02-27 14:38:29] [info] [ 3048] Starting service...
[2015-02-27 14:38:29] [error] [ 3048] Failed creating Java C:\Program Files\Java\jre1.8.0_25\bin\server\jvm.dll
[2015-02-27 14:38:29] [error] [ 3048] The system cannot find the path specified.
[2015-02-27 14:38:29] [error] [ 3048] ServiceStart returned 1
[2015-02-27 14:38:29] [error] [ 3048] The system cannot find the path specified.
[2015-02-27 14:38:29] [info] [ 4948] Run service finished.
[2015-02-27 14:38:29] [info] [ 4948] Commons Daemon procrun finished
Dann Ich habe den Wert von Java_HOME
Systemvariable in C:\Program Files\Java\jre1.8.0_31
geändert.
Das Problem war dann:
Exception in thread "main" Java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.Version
at org.elasticsearch.bootstrap.Bootstrap.buildErrorMessage(Bootstrap.Java:254)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.Java:238)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.Java:32)
Ich habe die Ordner bin
, config
, lib
und plugins
vollständig aus dem ElasticSearch-Ordner gelöscht.
Achten Sie darauf, dass Sie das data
-Verzeichnis nicht löschen, da sich dort Ihre Indizes befinden!
bin
, config
und lib
) aus elasticsearch-1.4.4.Zip
.SC DELETE elasticsearch-service-x64
als Administrator in der Eingabeaufforderung (um den installierten Dienst zu löschen)Lief F:\Services\elasticsearch\bin>service.bat install
Installing service : "elasticsearch-service-x64"
Using Java_HOME (64-bit): "C:\Program Files\Java\jre1.8.0_31"
The service 'elasticsearch-service-x64' has been installed.
Der Dienst wurde gestartet
Und dann hat alles richtig funktioniert .
Ich habe das gleiche Problem . Es erscheint nach dem Update auf eine neue Java-Version. Obwohl ich den Wert der Variablen "Java_HOME" in ein neues Java-Verzeichnis ändere, bleibt das Problem bestehen.
Dann gehe ich zur Eingabeaufforderung, navigiere zum ES-Verzeichnis und führe den folgenden Befehl aus:
{ElasticSearch directory}\bin>service manager
Dieser Befehl öffnet das Elasticsearch-Eigenschaftenfenster. ( http://i.stack.imgur.com/QQEPG.png )
Dann gehen Sie zur Registerkarte Java und ändern Sie den Pfad von Java virtuelle Maschine auf eine neue Version von Java. Danach einfach den ES-Dienst ausführen
{ElasticSearch directory}\bin>service start
Das Problem wird durch service.bat
verursacht, der mit Elastic verteilt wird und auf Apache Common Procrun basiert. Die JVM setzt die Umgebungsvariable %Java_HOME%
, die nicht korrekt aufgelöst wird.
Daher habe ich das Problem behoben, indem "Default JVM" in der GUI eingestellt wurde, die mit service.bat manager
angezeigt wird.
Eine andere Möglichkeit, das Problem über die Befehlszeile zu beheben, ist
elasticsearch-service-x64.exe //US//YOUR_SERVICE_NAME --Jvm auto
d.h.
elasticsearch-service-x64.exe //US//elasticsearch-service-x64 --Jvm auto
Aktualisierte das JDK von jdk1.7.0_21 auf jdk1.8.0_77.Changed das Java_Home und es funktionierte gut.
Ich hatte eine andere Version von elasticsearch installiert. Die alte Version einfach zu entfernen, funktionierte für mich.
elasticsearch-2.0.0\bin> Dienst entfernen
Was für mich funktionierte, war, "Service Manager" im Ordner "bin" auszuführen und die JVM auf "Standard" zu setzen.
Ich stieß auf das gleiche Problem und selbst mit der richtigen Java_HOME-Systemvariablengruppe funktionierte es nicht.
Schließlich navigierte ich zum bin-Ordner meiner elastischen Suchinstallation und lief:
service manager
Im Manager unter der Registerkarte Java habe ich diese Optionen festgelegt
-Delasticsearch
-Des.path.home=C:\elasticsearch-2.4.5
-Des.default.path.logs=C:\elasticsearch-2.4.5\logs
-Des.default.path.data=C:\elasticsearch-2.4.5\data
-Des.default.path.conf=C:\elasticsearch-2.4.5\config
Die Änderungen wurden gespeichert und anschließend ausgeführt
service start