web-dev-qa-db-fra.com

ElasticSearch et variable d'environnement Java

Pour Windows 7, j'ai installé JDK dans les versions 32 et 64 bits. Les versions sont 8, mise à jour 20 pour les quatre installations . http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html

lorsque je télécharge et décompresse elasticsearch, et que je lance les fichiers/bin/service.bat ou /bin/elasticsearch.bat, j'entre dans mon terminal:

Java_HOME environment variable must be set! Press any key to continue . . .

Quand je le fais, le terminal se ferme.

J'ai désinstallé et réinstallé, mais cela n'a pas résolu le problème. Pourquoi l’environnement ne serait-il pas préparé? Est-ce une chose d'installation, ou dois-je réellement définir manuellement la variable. Il semble juste que si elle était installée correctement, la variable serait définie automatiquement ... S'il vous plaît, aidez-nous. Merci

J'ai défini manuellement la variable d'environnement Java_HOME à l'aide de cette option.

https://confluence.atlassian.com/display/DOC/Setting+the+Java_HOME+Variable+in+Windows

Mon chemin est C:\Progra~1\Java\jdk1.8.0_20\jre

Désormais, lorsque j'exécute service.bat, le terminal se ferme immédiatement à l'ouverture de .. Lorsque j'exécute elasticsearch.bat, le terminal affiche certaines lignes et, au bout d'un moment, il y reste, et je ne peux plus rien taper.


MODIFIER:

J'ai désinstallé tout Java, réinstallé uniquement JRE 64 bits et défini la variable d'environnement système sur Java_HOME et `C:\Progra ~ 1\Java\jre1.8.0_20

J'ai découvert qu'il existe CLASSPATH qui est défini sur une version 32 bits plus ancienne de Java. Devrais-je supprimer cette variable?

29
ahnbizcad

ÉTAPE 1

Pouvez-vous vérifier que Java_HOME est défini sur C:\Progra~1\Java\jdk1.8.0_20, 

C:\>echo %Java_HOME%

Aussi, vérifier que la commande Java est disponible, 

 Java -version

Référence

Vérifiez si Java_HOME est présent dans l'environnement à l'aide d'un script de traitement par lots

ÉTAPE 2

Si Java_HOME n'est pas défini, veuillez suivre les étapes décrites ici - Comment définir Java Home dans Windows

Résumé

  • Cliquez avec le bouton droit sur l'icône Poste de travail sur votre bureau et sélectionnez Propriétés.
  • Cliquez sur l'onglet Avancé. Cliquez sur le bouton Variables d'environnement. Sous Variables système, cliquez sur Nouveau.
  • Entrez le nom de la variable sous Java_HOME.
  • Entrez la valeur de la variable en tant que chemin d’installation du JDK.

    (par exemple, C:\Progra~1\Java\jdk1.8.0_20).

  • Cliquez sur OK.
  • Cliquez sur Appliquer les modifications.
52
prayagupd

Une solution de contournement si vous ne disposez pas des privilèges pour configurer les variables d'environnement:

ouvrez le fichier elasticsearch.bat,

a) Supprimer la ligne:

if NOT DEFINED Java_HOME goto err

b) Remplacez% Java_HOME% par votre chemin d'accès jdk Java, par exemple: C:\Program Files\Java\jdk1.7.0_51

Et pour que votre terminal démarre et que vous ne puissiez rien saisir, il s’agit du serveur elasticsearch, vous devez vous y connecter à l’aide d’un client tel que cygwin. 

https://cygwin.com/install.html

Pour vous connecter au serveur, reportez-vous à la documentation elasticsearch.

http://www.elasticsearch.org/guide/

Une question similaire a déjà été posée:

"Java_HOME pointe vers un problème d'installation Java non valide" avec la commande service install dans la recherche élastique

4
BatScream

lancez la commande ci-dessous:

set Java_HOME=C:\Program Files\Java\jre8

J'étais confronté à un problème similaire où la version Java est déjà définie mais qui générait toujours l'erreur . Ouvrez le fichier elasticsearch-plugin.bat et remplacez "IF DEFINED Java_HOME" par "IF DEFINED% Java_HOME%", si vous disposez déjà de la version Java. ensemble.

Merci

2
Vijay Sutaria

C'est une erreur assez commune, l'environnement Java_HOME n'est pas défini. Nous devons donc l’établir de manière plus visible. Ce qui est demandé, c'est le chemin du répertoire jre et non du répertoire bin, c'est-à-dire le chemin de l'environnement Java pour configurer et exécuter elasticsearch. Donc, assurez-vous de ne pas spécifier le répertoire bin dans votre chemin. Ensuite, vous êtes prêt à exécuter votre recherche elasticsearch qui fonctionnera sur le port par défaut 9200. 

1
mohan08p

Vous pouvez définir les variables d'environnement à l'échelle du système en cliquant sur Démarrer, en pointant sur "Ordinateur", en cliquant avec le bouton droit de la souris et en sélectionnant les propriétés. Ensuite, cliquez sur "Paramètres système avancés", cliquez sur l'onglet "Avancé" et sélectionnez le bouton "Variables d'environnement". Cela ouvre une fenêtre dans laquelle vous pouvez définir votre variable Java_HOME. Vous pouvez le faire pour l'utilisateur actuel (top case) ou pour l'ensemble du système. 

Environment variables dialog

Cela fait, ouvrez une nouvelle fenêtre cmd (menu Démarrer, tapez 'cmd' et appuyez sur entrée) et vérifiez que Java_HOME est défini comme dans la question ci-dessus.

1
breght

Je ne pouvais toujours pas l'exécuter, même après avoir défini la variable d'environnement %Java_HOME%. Le problème pour moi était que j'aurais dû exécuter le fichier elasticsearch.bat en tant qu'administrateur . Cela a résolu le problème.

0
Ivan Yurchenko

Voir, vous devez juste faire ci-dessous: (ne supprimez aucune variable d'environnement déjà définie)

  • Étape 1: Éditez le fichier elasticsearch-service.bat situé dans\bin
  • Étape 2: Ajouter la ligne ci-dessous au début (ci-dessous @echo) SET Java_HOME = C:\Program Files\Java\jdk1.8.0_162 (ou votre chemin Java)
  • Étape 3: localisez %% Java_HOME %% dans le même fichier et remplacez-le par % Java_HOME%
  • Étape 4: Ensuite, à partir de cmd dans le dossier bin, exécutez: elasticsearch-service.bat Install
  • Étape 5: Voilà, lancez simplement elasticsearch-service à partir de cmd etit sera exécuté.
0
Ankit Saxena