我正在CentOS 6.4上安装Hadoop。
遵循这些说明http://hadoop.apache.org/docs/stable/single_node_setup.html
wget http://apache.osuosl.org/hadoop/common/hadoop-1.1.2/hadoop-1.1.2-1.x86_64.rpm chmod 700 hadoop-1.1.2-1.x86_64.rpm rpm -Uvh hadoop-1.1.2-1.x86_64.rpm
Java位于/ usr / bin / java
[root@localhost ~]# /usr/bin/java -version java version "1.7.0_09-icedtea" OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-x86_64) OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)
设置JAVA_HOME
vi /etc/hadoop/hadoop-env.sh
变
导出JAVA_HOME = / usr / bin / java / bin / java
至
导出JAVA_HOME = / usr / bin / java
[root@localhost ~]# . /etc/hadoop/hadoop-env.sh [root@localhost ~]# echo $JAVA_HOME /usr/bin/java
但Hadoop仍然失败,因为它有旧的不正确的Javapath
[root@localhost ~]# /usr/bin/hadoop version /usr/bin/hadoop: line 320: /usr/bin/java/bin/java: Not a directory
我如何纠正这个错误信息?
JAVA HOME需要设置为/usr以便添加bin/java将使您到达正确的位置。
# export JAVA_HOME="/usr" # /usr/bin/hadoop version
JAVA_HOME必须始终指向java安装的主目录,实际上不build议将/ usr设置为/ usr。 另外,如果安装在你上面的其他应用程序可能依赖于JAVA_HOME,那么它会指向/usr/java/jdk1.7(fox ex)。
export JAVA_HOME = / usr / java / jdk1.7(你可以在/etc/hadoop/hadoop-env.sh中做到这一点)。
另外,将hadoop Binariespath(例如/ usr / local / hadoop / bin)添加到$ PATH中,您只需键入命令而不是命令的完整path即可。
如前所述,通过设置真正的Java位置而不是链接来解决问题,find它:
(用前一个的结果replace2,3的path)
$ which java $ ls -alh /usr/bin/java $ ls -alh /etc/alternatives/java
现在你可以在你的.bashrc或.profile文件或者你需要的地方进行设置。
export JAVA_HOME=/usr/lib/jvm/java-8-oracle export PATH=$PATH:$JAVA_HOME