在干净的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
请问该如何解决?
答案 0 :(得分:2)
让我们编辑 /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'