Error: JAVA_HOME is not set and could not be found after hadoop installation

Error: JAVA_HOME is not set and could not be found after hadoop installation

在干净的 Raspbian Stretch Lite(加上 java 版本 1.8.0_65)的 Raspberry Pi 上以独立模式安装 hadoop 2.7.7 后,我得到以下错误:

Error: JAVA_HOME is not set and could not be found.

尽管我在 /etc/bash.bashrc:

中有这一行
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

printenv 输出如下:

...
JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/
....

我看到很多 similar questions,但答案似乎是 export 被错误地注释掉了,或者把它放在 hadoop-env.sh 中 - 但我没有好像没有这个文件。

我正在尝试按照说明进行操作 here,一切正常,直到:

Start, stop and list running services

1. $cd $HADOOP_HOME/sbin

2. $./start-dfs.sh

请问我该如何解决这个问题?

让我们编辑 /etc/hadoop/hadoop-env.sh 文件并为 Hadoop 设置 JAVA_HOME。就是你没找到的路径 hadoop-env.sh.

打开文件并找到如下行

export JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/

如果该行存在并被注释掉,请取消注释。否则,将该行添加到文件中。 小心不要

export JAVA_HOME=${JAVA_HOME}

如果还是找不到文件,可能路径不同。尝试使用

进行搜索
find / -iname 'hadoop-env.sh'