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:
- téléchargé els 1.4.4
- Arrêté et supprimé l'ELS 1.4.1 service
- renommé le répertoire d'installation actuel en elasticsearch_bak
- extrait le 1.4.4 zip à l'elasticsearch répertoire
- 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)
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
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
j'ai complètement supprimé les dossiers
bin
,config
,lib
etplugins
à partir du dossier ElasticSearch.assurez-vous de ne pas supprimer
data
répertoire parce qu'il y a vos index!- décompresser les mêmes dossiers (
bin
,config
etlib
)elasticsearch-1.4.4.zip
. - Ran
SC DELETE elasticsearch-service-x64
comme administrateur dans L'invite de commande (pour supprimer le service installé) 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.
Commencé le service
Et puis tout a commencé à fonctionner correctement.
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
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
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.
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
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.
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