run hadoop ERROR: JAVA_HOME /usr/bin/java does not exist

run hadoop ERROR: JAVA_HOME /usr/bin/java does not exist

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

有人可以帮忙吗?

/usr/bin/java 不是 java 家。 java home 必须是一个文件夹(不是程序),其 bin 目录包含 javajps、可能 javac 等。您必须找到您的 jre 或 jdk 文件夹并将其设置为 JAVA_HOME.

get ll /usr/bin/java 它可能是 符号 link 到您的 Java 路径。或执行 find /usr/lib/jvm/java-1.x.x-openjdk 找到您的 java 家。 Java 程序的父目录是您的 JAVA_HOME 并且必须在 hadoop-env.sh.

中设置导出