Ne peut pas démarrer le service après la mise à niveau D'Elasticsearch de 1.4.1 à 1.4.4

J'ai installé Elasticsearch avec succès sur Windows 7 version x64, en utilisant ELS 1.4.1. Après la mise à niveau vers Kibana 4 RTM, il a fallu un ELS 1.4.4.

Pour effectuer la mise à niveau, j'ai effectué les étapes suivantes:

  1. téléchargé els 1.4.4
  2. Arrêté et supprimé l'ELS 1.4.1 service
  3. renommé le répertoire d'installation actuel en elasticsearch_bak
  4. extrait le 1.4.4 zip à l'elasticsearch répertoire
  5. par Rapport à l' /config/elasticsearch.yml et config / logging.yml et appliquer les modifications (qui contient les paramètres supplémentaires suivants en bas)
# Helps Chrome work properly
http.cors.allow-origin: "/.*/"
http.cors.enabled: true

Lors du démarrage du service, il s'arrête en quelques secondes. Les journaux sont comme suit:

Version Java

(à Noter qu'il est pour fins de développement)

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)

Événement Journal

The Elasticsearch 1.4.4 (elasticsearch) service terminated with service-specific error Incorrect function..

elasticsearch-stderr-2015.05.20.journal

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

elasticsearch-stdout-2015.05.20.journal

2015-02-20 08:46:03 Commons Daemon procrun stdout initialized

elasticsearch.2015-02-20.journal

[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.

Si je lance elasticsearch à partir de l'invite de commande, j'obtiens cette erreur:

c:elkelasticsearchbin>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)
19
demandé sur Dominic Zukiewicz 2015-02-20 11:54:00

7 réponses

j'ai eu exactement le même problème et voici comment je l'ai résolu.

Voici ma configuration

j'utilise Windows Server 2008 R2 Enterprise - version 64 bits. Tout a bien fonctionné avec Java (JRE) version 1.8.0_25. Elastic search a été installé comme service Windows.

exactement avant le numéro J'ai mis à jour Java vers la version 1.8.0_31 et redémarré la machine.

Voici l'historique des mesures que j'ai prises

tout d'Abord, après redémarrer la machine J'ai remarqué que le service ElasticSearch a été arrêté. Après avoir essayé de le démarrer, il s'arrêta de nouveau.

voici ce que j'obtiens dans mon journal D'événements pour le numéro:

the Elasticsearch 1.4.1 (elasticsearch-service-x64) service terminé avec une erreur propre au service fonction incorrecte..

Voici ce que j'avais dans mon 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

j'ai changé la valeur de JAVA_HOME variable du système C:\Program Files\Java\jre1.8.0_31

enter image description here

La question était alors:

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)

qu'est-Ce résolu le problème

  1. j'ai complètement supprimé les dossiers bin,config,lib et plugins à partir du dossier ElasticSearch.

    assurez-vous de ne pas supprimer data répertoire parce qu'il y a vos index!

  2. décompresser les mêmes dossiers (bin, config et lib)elasticsearch-1.4.4.zip.
  3. Ran SC DELETE elasticsearch-service-x64 comme administrateur dans L'invite de commande (pour supprimer le service installé)
  4. Ran 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.
    
  5. Commencé le service

Et puis tout a commencé à fonctionner correctement.

enter image description here

24
répondu Nikolay Kostov 2015-02-27 13:18:23

j'ai le même problème. Son apparaît après mise à jour à la nouvelle version de Java. Bien que je change la valeur de la variable "JAVA_HOME" en nouveau répertoire java, le problème reste.

que je vais à l'invite de commande, naviguer dans le répertoire ES et exécuter la commande suivante:

{ElasticSearch directory}\bin>service manager

cette commande ouvrira la fenêtre Propriétés Elasticsearch.(http://i.stack.imgur.com/QQEPG.png)

que d'aller à l'onglet Java et de changer le chemin de Virtuelle Java Machine vers la nouvelle version de Java. Après cela, il suffit de lancer le service ES

{ElasticSearch directory}\bin>service start
18
répondu Madjarov 2015-09-01 14:12:47

Le problème est causé par service.bat distribué avec un Élastique qui s'appuient sur Apache Common Procrun et définit la JVM en utilisant la variable d'environnement %JAVA_HOME% qui n'est pas réglé correctement.

J'ai donc corrigé le problème en positionnant "Default JVM" sur L'interface graphique qui apparaît avec service.bat manager.

une autre façon de corriger le problème via la ligne de commande est

elasticsearch-service-x64.exe //US//YOUR_SERVICE_NAME --Jvm auto

i.e.

elasticsearch-service-x64.exe //US//elasticsearch-service-x64 --Jvm auto
11
répondu emmekappa 2016-03-18 18:48:55

mise à jour du JDK à partir du jdk1.7.0_21 à jdk1.8.0_77.J'ai changé le Java_Home et il a commencé à bien fonctionner.

3
répondu Vivek Bhadoria 2016-04-02 02:16:49

j'ai fait installer une autre version d'elasticsearch. Simplement supprimer l'ancienne version a fonctionné pour moi.

elasticsearch-2.0.0\bin de service>supprimer

1
répondu Michael Goldshmidt 2015-11-11 00:35:14

ce qui a fonctionné pour moi, c'est d'exécuter "service manager" dans le dossier bin et de mettre la JVM par défaut.

1
répondu avantprime 2017-02-16 10:45:54

j'ai rencontré le même problème, et même avec la variable appropriée du système JAVA_HOME, cela n'a pas fonctionné.

finalement j'ai navigué vers le dossier bin de mon installation de recherche élastique et j'ai couru:

service manager

Dans le gestionnaire, sous l'onglet Java, j'ai mis ces options

-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

Enregistré les modifications, puis a couru

service start
0
répondu CAOakley 2018-02-23 18:27:40