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



我在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

然后,我在终端上通过以下命令下载了java1.8:

$ sudo yum install java-1.8.0-openjdk.x86_64
$ sudo update-alternatives --config java
(I selected 2 for java 1.8)

为了找到我的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

我想它工作正常。然后,我在终端上为ec2用户和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

事先,我已经在root上设置了nifi。在nifi-1.1.6.0目录中,我正在尝试运行以下命令:

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

错误消息为:

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

我认为java正在工作,但java_HOME无法正确设置,但我无法解决这个问题。在这一点上,我应该做些什么来解决问题并启动nifi?

如果你能帮忙,我将不胜感激,因为这个错误,我无法开始我的学期项目:(

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"

但您可能不需要导出JAVA_HOME。您应该在/usr/bin/中有一个链接。您可以通过以下操作进行检查:

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

默认情况下,ApacheNifi使用可执行文件/usr/bin/java,因此不需要导出JAVA_HOME

最新更新