【问题标题】:How to install OpenJDK 10 for Elasticsearch 6.4如何为 Elasticsearch 6.4 安装 OpenJDK 10
【发布时间】:2018-11-06 00:28:07
【问题描述】:

我刚刚用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 用户。我知道OpenJDK 10.02 are supported那为什么ES能找到java呢? 看起来我应该将它安装在以下文件夹之一中:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin

【问题讨论】:

    标签: java elasticsearch


    【解决方案1】:

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

    看看Scripts in /etc/profile.d Being Ignored?线程,唯一的办法就是一步步调试这个。

    【讨论】:

    • JAVA_HOME 有一个值,java 也在路径中,不会被覆盖。由于 java 问题,我无法安装 Elastic。
    【解决方案2】:

    这是一个用户错误(:我使用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-10
      • 1970-01-01
      • 2019-03-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-19
      • 2013-04-12
      相关资源
      最近更新 更多