web-dev-qa-db-fra.com

Impossible de démarrer le service elasticsearch

J'essaie de démarrer le service Elastic Search sur un serveur Windows 2008 R2, mais le démarrage échoue. Il fonctionnait auparavant depuis plusieurs mois sans problème.

Dans les services, je reçois le message:

"Windows n'a pas pu démarrer Elasticsearch 1.7.2 (ELASTIC_POC) sur l'ordinateur local. Pour plus d'informations, consultez le journal des événements système. S'il s'agit d'un service autre que Microsoft, contactez le fournisseur du service et consultez une erreur propre au service. code 1. "

Le journal des événements était très inutile, affichant l'erreur suivante:

"Le service Elasticsearch 1.7.2 (ELASTIC_POC) est passé à l'état arrêté."

"Le service Elasticsearch 1.7.2 (ELASTIC_POC) s'est arrêté avec une erreur spécifique au service Erreur fonction .."

Je reçois cependant plus d'informations dans les fichiers journaux Elastic Search:

[2016-03-30 10:47:22] [info]  [ 3988] Running 'ELASTIC_POC' Service...
[2016-03-30 10:47:22] [info]  [ 3760] Starting service...
[2016-03-30 10:47:22] [error] [ 3760] Failed creating Java C:\Progra~2\Java\jre1.8.0_60\bin\client\jvm.dll
[2016-03-30 10:47:22] [error] [ 3760] The system cannot find the path specified.
[2016-03-30 10:47:22] [error] [ 3760] ServiceStart returned 1
[2016-03-30 10:47:22] [error] [ 3760] The system cannot find the path specified.
[2016-03-30 10:47:22] [info]  [ 3988] Run service finished.
[2016-03-30 10:47:22] [info]  [ 3988] Commons Daemon procrun finished

En vérifiant C:\Program Files (x86)\Java\jre1.8.0_60, il ne contient qu’un dossier nommé "lib" (qui est vide). Il existe un dossier "jre1.8.0_73" contenant plusieurs fichiers, "y compris\bin\client\jvm.dll"

Comment puis-je obliger Elastic Search à utiliser la version ultérieure de Java ou à ramener le contenu du dossier jre1.8.0_60? Je n'arrive pas à trouver (un coffre-fort à télécharger) installateur pour cela ..

Toute aide grandement appréciée.

9
mp3duck

Il existe une très forte probabilité que votre environnement d'exécution Java ait été mis à jour automatiquement.

Cela élimine Elastic Search, car vous avez une variable d’environnement appelée Java_HOME qui est maintenant dirigée vers le mauvais emplacement.

Premièrement, allez dans les fichiers de programme/Java et trouvez le nouveau dossier de JRE. C'est probablement un numéro de version ultérieur. Exemple: au lieu de jre1.8.0_73, peut-être jre1.8.090 ou un nombre plus élevé ajouté à la fin.

Mettez à jour votre variable d'environnement Java_HOME en conséquence.

Ensuite, après avoir effectué les sauvegardes appropriées de vos fichiers de recherche élastique, dans une invite de commande activée par l'administrateur, accédez au dossier de votre corbeille de recherche élastique.

tapez les commandes suivantes

 service remove
 service install

Ensuite, vous voudrez probablement accéder à services.msc et passer le service de "démarrage manuel" à "automatique" ou "automatique différé".

On pourrait penser que la réinstallation du service après la mise à jour de la variable d'environnement Java_HOME ne serait pas nécessaire, mais cela était nécessaire pour mon installation. 

16
Brian Webster

Résolu, par le service d'installation à nouveau ..

Ouvrir 

{chemin-à-recherche-élastique}\bin \

dans l'invite de commande, 

et courir

service install

Cela ne me permettrait pas de courir

service remove, donc maintenant comment deux services de recherche élastiques sont listés, cependant, ceci est un serveur de test, donc ça va.

2
mp3duck

Pour moi, cela était dû à un problème dans mon registre après la mise à jour de Java. Il semblait que les anciennes versions du programme d'installation du service codaient en dur le chemin Java dans les clés de registre, alors qu'elles devraient dépendre de la variable d'environnement Java_HOME.

Recherchez la clé suivante dans votre registre: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\elasticsearch-service-x64\Parameters\Java\Jvm. S'il ressemble à un chemin codé en dur vers jvm.dll, remplacez la valeur par %Java_HOME%\bin\server\jvm.dll et essayez de démarrer le service.

0
Jorrit Schippers