简体   繁体   English

JAVA_HOME 文件不工作,我无法在 Amazon EC2 上将 Java 更新到 1.8

[英]JAVA_HOME file is not working and I couldn't update Java to 1.8 on Amazon EC2

I have an Amazon EC2 t3.medium instance on Linux. I am trying to run Apache ni-fi on this instance and I need java. When I check the JAVA_HOME default:我在 Linux 上有一个 Amazon EC2 t3.medium 实例。我正在尝试在此实例上运行 Apache ni-fi,我需要 java。当我检查 JAVA_HOME 默认值时:

$ echo$JAVA_HOME

 -bash: echo/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.261-2.6.22.2.amzn2.0.2.x86_64: No such file or directory

Then, I downloaded java 1.8 by the following comamnds on terminal:然后,我在终端上通过以下命令下载了 java 1.8:

$ sudo yum install java-1.8.0-openjdk.x86_64

$ sudo update-alternatives --config java

(I selected 2 for java 1.8)

To find the location of my java file, I run them:为了找到我的 java 文件的位置,我运行它们:

$ file $(which java)
/usr/bin/java: symbolic link to `/etc/alternatives/java'
$ file /etc/alternatives/java
/etc/alternatives/java: symbolic link to `/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/jre/bin/java'
$ file /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/jre/bin/java

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/jre/bin/java: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, BuildID[sha1]=1b1c0fd721197a04f9bfc9b0891f1bd83a5f49d5, not stripped

I guess it is working properly.我想它工作正常。 Then, I change JAVA_HOME from 1.7 to 1.8 by writing these commands on terminal for both ec2-user and root:然后,我通过在终端上为 ec2-user 和 root 编写这些命令,将 JAVA_HOME 从 1.7 更改为 1.8:

[root@ip-178-32-11-247 ~]# export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64"
[root@ip-178-32-11-247 ~]# PATH=$JAVA_HOME/bin:$PATH

In advance, I have setup nifi on root.事先,我在 root 上设置了 nifi。 And in nifi-1.16.0 directory, I am trying to run this command:在 nifi-1.16.0 目录中,我正在尝试运行此命令:

[root@ip-178-32-11-247 nifi-1.16.0]# bin/nifi.sh start

The Error message is:错误信息是:

Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64
NiFi home: /root/nifi-1.16.0

Bootstrap Config File: /root/nifi-1.16.0/conf/bootstrap.conf

bin/nifi.sh: line 401: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/bin/java: No such file or directory

I thought that java is working but JAVA_HOME couldn't setup properly but I couldn't solve that.我认为 java 正在工作,但 JAVA_HOME 无法正确设置,但我无法解决。 What should I do at that point to solve the problem and start nifi?那我该怎么做才能解决问题并启动nifi?

I will be appreciated very much if you can help, I coludn't start my term project because of this error:(如果您能提供帮助,我将不胜感激,因为这个错误,我无法开始我的学期项目:(

The correct path for JAVA_HOME should be /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/jre/bin/java JAVA_HOME的正确路径应该是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/jre/bin/java

export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.amzn2.0.2.x86_64/jre/bin/java"

But probably you don't need to export JAVA_HOME anyway.但可能您无论如何都不需要导出JAVA_HOME You should have a link in /usr/bin/ .您应该在/usr/bin/中有一个链接。 You can check this by doing the following:您可以通过执行以下操作来检查:

[ssm-user@ip-172-31-85-243 bin]$ which java
/usr/bin/java

By default Apache Nifi is using the executable /usr/bin/java , so you don't need to export JAVA_HOME .默认情况下 Apache Nifi 使用可执行文件/usr/bin/java ,所以你不需要导出JAVA_HOME

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM