Как установить OpenJDK 10 для Elasticsearch 6.4 - PullRequest
0 голосов
/ 04 ноября 2018

Я только что создал кластер Solr 7.5 с openjdk-10.0.2_linux-x64_bin.tar.gz следующим образом.

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

И Солр 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. Я знаю, что OpenJDK 10.02 поддерживается , так почему ES может найти Java? Похоже, я должен установить его в одну из следующих папок: / sbin: / bin: / usr / sbin: / usr / bin: / usr / X11R6 / bin

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Это была ошибка пользователя (: я использовал sudo для установкиasticsearch, поэтому среда 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
0 голосов
/ 04 ноября 2018

Может быть много разных причин, по которым PATH или JAVA_HOME не изменяется, например какой-то другой скрипт, переопределяющий его после выполнения /etc/profile.d/jdk10.sh. Поскольку /etc/profile.d сценарии должны выполняться при входе в систему, может быть, вы просто не вышли из системы? Вы даже не указали команду, которую используете для запуска Elastic Search, она запускается под своим собственным пользователем?

Взгляните на Сценарии в потоке /etc/profile.d, будучи игнорируемым? , единственный способ выяснить это - отладить этот шаг за шагом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...