如何为Elasticsearch 6.4安装OpenJDK 10



我刚刚用以下方式创建了一个带有openjdk-10.0.2_linux-x64-bin.tar.gz的Solr 7.5集群。

curl -O https://download.java.net/java/GA/jdk10/10.0.2/19aef61b38124481863b1413dce1855f/13/openjdk-10.0.2_linux-x64_bin.tar.gz
tar zxvf openjdk-10.0.2_linux-x64_bin.tar.gz
mv jdk-10.0.2 /usr/local/java/
cat > /etc/profile.d/jdk10.sh << EOF
#!/bin/sh
export JAVA_HOME=/usr/local/java
export PATH=$PATH:/usr/local/java:/usr/local/java/bin
EOF
source /etc/profile.d/jdk10.sh

Solr 7.5很高兴(;

现在我正试图用Elasticsearch 6.4做同样的事情,但我得到了这个错误:

which: no java in (/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin)
could not find java; set JAVA_HOME or ensure java is in PATH
error: %pre(elasticsearch-0:6.4.2-1.noarch) scriptlet failed, exit status 1
error: elasticsearch-0:6.4.2-1.noarch: install failed
Failed to execute operation: No such file or directory
Failed to start elasticsearch.service: Unit not found.

但是在路径中设置了java,并且还设置了java_HOME

[root@ip-10-0-5-10 ~]# java -version
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment 18.3 (build 10.0.2+13)
OpenJDK 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
echo $PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/java/bin:/usr/local/java:/root/bin 

这适用于root和ec2用户。我知道OpenJDK10.02是受支持的,那么ES为什么能找到java呢?看起来我应该将它安装在以下文件夹中:/sbin:/bin:/usr/sbin:/usr/X11R6/bin

PATHJAVA_HOME没有更改的原因可能有很多,例如在执行/etc/profile.d/jdk10.sh后,其他脚本会覆盖它。既然/etc/profile.d脚本应该在登录时运行,也许您只是没有注销?您甚至没有提供用于启动Elastic Search的命令,它是在自己的用户下运行的吗?

看看/etc/profile.d中的脚本是否被忽略?线程,唯一的方法是一步一步地调试它。

这是一个用户错误(:我使用sudo安装elasticsearch,这就是java环境为空的原因。

如果有人觉得它很有用,那么这里有一种安装ES的方法,但没有内存和插件配置。

#!/usr/bin/env bash
# install java
curl -O https://download.java.net/java/GA/jdk10/10.0.2/19aef61b38124481863b1413dce1855f/13/openjdk-10.0.2_linux-x64_bin.tar.gz
tar zxvf openjdk-10.0.2_linux-x64_bin.tar.gz
mv jdk-10.0.2 /usr/local/open-jdk-10
cat > /etc/profile.d/jdk10.sh << EOF
#!/bin/sh
export JAVA_HOME=/usr/local/open-jdk-10
export PATH=$PATH:/usr/local/open-jdk-10/bin
EOF
source /etc/profile.d/jdk10.sh
# install elasticsearch
# https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html
cat > /etc/yum.repos.d/elasticsearch.repo << EOF
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
# /usr/share/elasticsearch/bin
yum install elasticsearch -y

最新更新