运行hadoop错误:JAVA_HOME /usr/bin/java不存在

问题描述 投票:0回答:4

Ubuntu 16.04.1 LTS
我已经通过 sudo apt-get install default-jdk 安装了 java

$ java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~16.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
$ which java
/usr/bin/java

在/home/hadoop/hadoop-3.3.1/etc/hadoop/hadoop-env.sh中,我添加了
导出 JAVA_HOME=/usr/bin/java

hadoop@ubuntu:~/hadoop$ bin/hadoop
ERROR: JAVA_HOME /usr/bin/java does not exist

有人可以帮忙吗?

java hadoop
4个回答
5
投票

/usr/bin/java
不是 java home。 java home 必须是一个带有 bin 目录的文件夹(不是程序),其中包含
java
jps
,也许是
javac
等等。您必须找到您的 jre 或 jdk 文件夹并将其设置为 JAVA_HOME。

获取

ll /usr/bin/java
,它可能是指向您的 Java 路径的符号链接。或者执行
find /usr/lib/jvm/java-1.x.x-openjdk
来找到你的 java home。 Java程序的父目录是你的JAVA_HOME,必须在
hadoop-env.sh
中使用export设置。


0
投票

我无法在安装了 Java 11 的情况下运行它,所以我安装了 Java 8 并尝试了这个:

/usr/lib/jvm/java-8-openjdk-amd64/jre/bin
,它工作得很好。


0
投票

您可以运行

readlink -f $(which java)
命令,该命令返回目标文件的实际路径。

这会给你这样的输出

readlink -f $(which java)                                                                                                                                                                                  
/usr/lib/jvm/java-11-openjdk-amd64/bin/java

0
投票

我使用命令:

导出 JAVA_HOME=/usr/lib/jvm/java-11-amazon-corretto

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.