web-dev-qa-db-ja.com

JAVA Java_HOMEが設定されているがパスにない

/ etc/profileですべての要件変数を設定しましたが、elasticsearchを起動すると、まだJavaが見つかりません。環境変数を設定する方法。それが私の/ etc/profileです

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

コマンドの出力

[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]

エラーでは、 "" Starting elasticsearch:which:no Java in(/ sbin:/ usr/sbin:/ bin:/ usr/bin) ""、本当に= Javaはそのパスにありませんが、$ PATHをエコーするとどうなりますか。Javaがパスにありますか?

14
Noor

特にOpenBSD6.0の場合、追加します

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

あなたの.profile

この特定バージョンのjdk、および場合によっては基本パス自体は、OpenBSDの後続および以前のバージョンで変更される可能性があるため、警告されています。

6
danno

ElasticSearchのドキュメントを読んだ後、UbuntuまたはDebianで実行している場合、ライセンスの問題のため、パッケージはOpenJDKにのみ同梱されることがわかりました。これを修正するためにJavaパスの問題、ElasticSearchをインストールした後に(ドキュメントの指示に従って)以下をインストールしました:

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

その後、Sudo service elasticsearch startすべてが機能し、これ以上Javaパスの問題はありませんでした。

35
bkunzi01

コマンドを実行する

Java -XshowSettings

エントリを検索Java.home = /usr/Java/jdk1.8.0_91/jre

bashプロファイルでJava_homeをエクスポートします

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

または/etc/profileすべてのユーザーに展開する

10
Miso Mijatovic

うまくいくには-ニースではありませんが、/ usr/binにJava(これはElasticsearchで表示される)にシンボリックリンクを設定できます):

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

出力に/ etc/sysconfig/elasticsearchというファイルが1つあることに気付きました

これでうまくいくかもしれないので、このファイルでJava_HOMEを次のように定義しました。

もっとuは here から取得できます

1
ericayin

/etc/ディレクトリの下のbashrcおよびprofileファイルに以下のパスを追加するだけです。

export Java_HOME =/path/to/Java/jdk

export PATH = $ Java_HOME/bin:$ PATH

0
Altmish-E-Azam

Elasticsearch 5をdebianマシンにインストールしているときに同じ問題が発生しました。それが私が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.

これがあなたの特定の状況かどうかはわかりませんが、ElasticSearch/Kibana/Logstash(ELKスタック)を使用した場合、Ubuntu 16.04ではドキュメントが機能しませんでした。この投稿のコンテンツを他のいくつかのコンテンツと組み合わせて、私の解決策は次のとおりでした。

 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

Ubuntu 16.04での私にとっての最終結果は

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)

Wazuhを使用している場合、特定のバージョンのPPAを追加することが重要です。これがお役に立てば幸いです。

0
eschipul

/ etc/default/elasticsearchにJava_HOMEを設定する必要があります。
cat /etc/default/elasticsearch Java_HOME=/var/local/jdk1.8.0_151

次の開始/etc/init.d/elasticsearch start
ES実行中。私のOS ubuntu18.04。

0
Cooperd

「インストールされていない」Javaを使用している場合は、「elasticsearch」ユーザーが、Java_HOMEディレクトリとすべての親ディレクトリで定義されたものにアクセスできるかどうかを確認します。それが私の問題でした。

0
misiekzet

Java_HOMEに指定したパスが正しいことを確認してください。

そして、なぜそれを単純にしないのですか:

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

Java homeを/jdk1.7.0_79/binに設定し、それが役立つかどうかを確認してください。

0
ITguy