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?
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.
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.
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
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
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
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
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
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.
vous devez définir Java_HOME dans/etc/default/elasticsearch, commecat /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.
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 ..
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.