J'ai installé Elasticsearch avec succès sur Windows 7 version x64, avec ELS 1.4.1. Après la mise à niveau vers Kibana 4 RTM, ELS 1.4.4 était nécessaire.
Pour effectuer la mise à niveau, j'ai effectué les étapes suivantes:
# 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 les suivants:
(Notez que ceci est à des 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)
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.
Si j'exécute elasticsearch à partir de l'invite de commande, le message d'erreur suivant s'affiche:
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)
J'ai eu exactement le même problème et voici comment je l'ai résolu.
J'utilise Windows Server 2008 R2 Enterprise
- version 64 bits. Tout fonctionnait bien avec la version 1.8.0_25
de Java (JRE). Elastic Search a été installé en tant que service Windows.
Exactement avant le problème, j'ai mis à jour Java vers la version 1.8.0_31
et ai redémarré la machine.
Tout d'abord, après avoir redémarré la machine, j'ai remarqué que le service ElasticSearch était arrêté. Après avoir essayé de le démarrer, il s'est arrêté à nouveau.
Voici ce que je trouve dans mon journal des événements pour le problème:
Le service Elasticsearch 1.4.1 (elasticsearch-service-x64) s'est arrêté avec une erreur spécifique 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
Puis J'ai changé la valeur de la variable système Java_HOME
en 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)
J'ai complètement supprimé les dossiers bin
, config
, lib
et plugins
du dossier ElasticSearch.
Veillez à ne pas supprimer le répertoire data
car vos index sont localisés!
bin
, config
et lib
) à partir de elasticsearch-1.4.4.Zip
.SC DELETE elasticsearch-service-x64
en tant qu'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… .. Il apparaît après la mise à jour vers la nouvelle version de Java. Bien que je remplace la valeur de la variable "Java_HOME" par le nouveau répertoire Java, le problème persiste.
Puis je vais à la commande Invite, navigue vers le répertoire ES et lance la commande suivante:
{ElasticSearch directory}\bin>service manager
Cette commande ouvrira la fenêtre des propriétés Elasticsearch. ( http://i.stack.imgur.com/QQEPG.png )
Ensuite, allez à l'onglet Java et changez le chemin de Machine virtuelle Java à la nouvelle version de Java. Après cela, lancez simplement le service ES
{ElasticSearch directory}\bin>service start
Le problème est dû à service.bat
distribué avec Elastic qui s'appuie sur Apache Common Procrun et définit la machine virtuelle Java à l'aide de la variable d'environnement %Java_HOME%
qui n'est pas résolue correctement.
J'ai donc résolu le problème en définissant "Default JVM" sur l'interface graphique qui apparaît avec service.bat manager
.
Un autre moyen de résoudre le problème via la ligne de commande est
elasticsearch-service-x64.exe //US//YOUR_SERVICE_NAME --Jvm auto
c'est à dire.
elasticsearch-service-x64.exe //US//elasticsearch-service-x64 --Jvm auto
Mise à jour du JDK de jdk1.7.0_21 à jdk1.8.0_77.Changed Java_Home et il a commencé à fonctionner correctement.
J'ai eu une autre version de elasticsearch installée. Retirer simplement l'ancienne version a fonctionné pour moi.
elasticsearch-2.0.0\bin> service supprimer
Ce qui a fonctionné pour moi a été d’exécuter «gestionnaire de service» dans le dossier bin et de définir la machine virtuelle Java par défaut.
J'ai rencontré le même problème et même avec le jeu de variables système Java_HOME approprié, cela ne fonctionnait pas.
Finalement, j'ai navigué dans le dossier bin de mon installation de recherche élastique et j'ai exécuté:
service manager
Dans le gestionnaire, sous l'onglet Java, je configure 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
Sauvegardé les modifications, puis exécuté
service start