web-dev-qa-db-fra.com

JAVA pas dans le chemin bien que Java_HOME soit défini

J'ai défini toutes les variables requises dans le fichier/etc/profile, mais lors du lancement de elasticsearch, Java n'est toujours pas trouvé. Comment je peux définir la variable d'environnement. C'est mon/etc/profil

PATH=$PATH:$HOME/bin
APPLICATIONS=$HOME/Applications
Java_HOME=$APPLICATIONS/jdk1.7.0_79
PATH=$Java_HOME/bin:$PATH

export APPLICATIONS
export Java_HOME
export PATH

Sortie des commandes

[root@87500e63467f Applications]# echo $PATH
/root/Applications/jdk1.7.0_79/bin:/root/Applications/jdk1.7.0_79/bin:/root/Applications/jdk1.7.0_79/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin:/root/bin
[root@87500e63467f Applications]# echo $Java_HOME
/root/Applications/jdk1.7.0_79
[root@87500e63467f Applications]# Java -version
Java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
error: "Read-only file system" setting key "vm.max_map_count"
Starting elasticsearch: which: no Java in (/sbin:/usr/sbin:/bin:/usr/bin)
Could not find any executable Java binary. Please install Java in your PATH or set Java_HOME
                                                           [FAILED]

dans l'erreur, il est écrit que "" Démarrer elasticsearch: which: pas de Java dans (/ sbin:/usr/sbin:/bin:/usr/bin) "", cela signifie que Java n'est pas dans ce viens quand j'écho $ PATH, il montre que le Java est dans le chemin?

13
Noor

Spécifiquement pour OpenBSD6.0, ajoutez 

export Java_HOME=/usr/local/jdk-1.8.0/

à votre .profile.

Cette version spécifique du jdk, et éventuellement le chemin de base lui-même, est susceptible de changer dans les versions ultérieures et précédentes d'OpenBSD.

4
danno

Après avoir lu la documentation d'ElasticSearch, j'ai découvert que si vous utilisez Ubuntu ou Debian, le paquet est uniquement livré avec OpenJDK en raison de problèmes de licence. Pour résoudre ce problème de chemin d'accès Java, j'ai installé les éléments suivants après avoir installé ElasticSearch (comme indiqué par la documentation):

Sudo add-apt-repository ppa:webupd8team/Java
Sudo apt-get update
Sudo apt-get install Oracle-Java8-installer
Java -version

Ensuite, lors de l'exécution de Sudo service elasticsearch start, tout a fonctionné et je n'ai plus eu de problèmes de chemin d'accès Java.

32
bkunzi01

lancer la commande

Java -XshowSettings

rechercher l'entrée Java.home = /usr/Java/jdk1.8.0_91/jre

exporter le Java_home dans votre profil bash

export Java_HOME=/usr/Java/jdk1.8.0_91/jre

ou en /etc/profile pour s'étendre à tous les utilisateurs

9
Miso Mijatovic

Pour le lancer - bien que pas Nice - vous pouvez configurer un lien symbolique vers votre Java dans/usr/bin (répertorié par elasticsearch à voir):

ln -s /root/Applications/jdk1.7.0_79/bin/Java /usr/bin/Java
1
yasd

J'ai remarqué un fichier dans la sortie appelé/etc/sysconfig/elasticsearch

cela pourrait faire l'affaire, alors j'ai défini Java_HOME dans ce fichier comme, et ça marche.

plus vous pouvez obtenir de ici

1
ericayin

Ajoutez simplement le chemin ci-dessous dans le fichier bashrc et profile dans le répertoire /etc/.

export Java_HOME =/chemin/vers/Java/jdk

export PATH = $ Java_HOME/bin: $ PATH

0
Altmish-E-Azam

Nous avons rencontré le même problème lors de l’installation d’Elasticsearch 5 sur une machine Debian. C'est comme ça que j'ai installé Java 9:

su -
echo "deb http://ppa.launchpad.net/webupd8team/Java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-Java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/Java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-Java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get install Oracle-Java9-installer
0
Hyder B.

Je ne sais pas s'il s'agit de votre situation particulière, mais en travaillant avec ElasticSearch/Kibana/Logstash (pile ELK), la documentation ne fonctionnait pas pour moi sous Ubuntu 16.04. En combinant le contenu de ce message avec plusieurs autres, ma solution était la suivante:

 Sudo add-apt-repository ppa:webupd8team/Java
 Sudo apt-get update
 Sudo apt-get install Oracle-Java8-installer
 # checking my work given 9 won't work with OSSEC you can use
 # Java -version
 Sudo usermod -a -G ossec logstash
 Sudo apt-get install logstash
 Sudo systemctl daemon-reload
 Sudo systemctl enable logstash.service
 Sudo systemctl start logstash.service

Le résultat final pour moi sur Ubuntu 16.04 était

Sudo Java -version
Java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

Si vous travaillez avec wazuh, il est important d'ajouter les PPA pour leurs versions spécifiques. J'espère que ça aide.

0
eschipul

vous devez définir Java_HOME dans/etc/default/elasticsearch, comme
cat /etc/default/elasticsearch Java_HOME=/var/local/jdk1.8.0_151 

le prochain départ /etc/init.d/elasticsearch start
ES en cours d'exécution Mon système d'exploitation ubuntu18.04.

0
Cooperd

Si vous utilisez Java "non installé", vérifiez si votre utilisateur "elasticsearch" a accès au répertoire Java_HOME défini par vous et à tous les répertoires parents. C'était mon problème ..

0
misiekzet

Assurez-vous que le chemin que vous avez fourni pour Java_HOME est correct.

Et pourquoi ne pas garder les choses simples:

export PATH=$PATH:/path/to/jdk

essayez de définir Java home sur /jdk1.7.0_79/bin et voyez si cela vous aide.

0
ITguy