(HBase)错误:未设置JAVA_HOME且找不到Java

时间:2014-01-14 15:10:35

标签: java hadoop hbase java-home

我已经阅读了一些关于设置JAVA_HOME的评论。由于我是这方面的初学者,所以在没有了解我在做什么的情况下,我没有编辑任何内容。我不想把事情搞得更糟。 所以如果你能指导我完成这个并告诉我编码有什么问题,我会非常感激。

我一直在尝试安装Hadoop,然后安装HBase。经过很多困难和错误解决之后,我终于可以安装Hadoop,并在运行start-all.sh时获得此输出,一切似乎都没问题。

> hduser@CSLAP106:~$ /usr/local/hadoop/bin/start-all.sh

> hduser@CSLAP106:~$ jps

> 3005 NameNode

> 3404 JobTracker

> 5570 Jps

> 3554 TaskTracker

> 3311 SecondaryNameNode

我也有这个Java版本,当我输入echo JAVA_HOME时,我得到了这个输出:

> hduser@CSLAP106:~$ java -version 
> 
> java version "1.7.0_25" OpenJDK Runtime Environment (IcedTea 2.3.12)
> (7u25-2.3.12-4ubuntu3)   OpenJDK Server VM (build 23.7-b01, mixed
> mode) 
> hduser@CSLAP106:~$ echo JAVA_HOME JAVA_HOME

在此之后,我尝试安装HBase(我认为我即将放弃),并且我不断收到JAVA_HOME is not set and java cannot be found

的错误

这就是我试图启动Hbase的原因:

hduser@CSLAP106:~$ /usr/local/hbase/hbase-0.94.6.1/bin/start-hbase.sh
+======================================================================+
|      Error: JAVA_HOME is not set and Java could not be found         |
+----------------------------------------------------------------------+
| Please download the latest Sun JDK from the Sun Java web site        |
|       > http://java.sun.com/javase/downloads/ <                      |
|                                                                      |
| HBase requires Java 1.6 or later.                                    |
| NOTE: This script will find Sun Java whether you install using the   |
|       binary or the RPM based installer.                             |
+======================================================================+

我还检查了这个目录/usr/local/hbase/hbase-0.94.6.1/bin以查看它是否识别Java,它确实存在!

在搜索了Strackoverflow和其他人对同一问题的答案之后,我尝试将它们应用到我的.xml和.sh文件中,但是没有发生任何事情。

对于HADOOP

这是我设置JAVA_HOME的hadoop-env.sh

# The java implementation to use.  Required.
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386

这是my $HOME/.bashrc的编辑:

# Set Hadoop-related environment variables
export HADOOP_HOME=/usr/local/hadoop

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-i386

# Add Hadoop bin/ directory to PATH

export PATH=$PATH:$HADOOP_HOME/bin

适用于HBase

这些是我在hbase-site.xml

中所做的编辑
<property>
        <name>hbase.rootdir</name>
    <value>hdfs://localhost:54310 /hbase</value>
</property>

这是针对hbase-env.sh

# The java implementation to use.  Java 1.6 required.
# export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-i386

这就是我想的。

6 个答案:

答案 0 :(得分:4)

显然HBase找不到JAVA_HOME和java二进制文件,尽管你可以在本地运行java -version

在运行HBase之前,您应该运行export JAVA_HOME=/the/path/of/you/jdk/

BTY,echo JAVA_HOME JAVA_HOME不正确。您可能需要echo $JAVA_HOME

答案 1 :(得分:2)

Hbase尝试读取hbase-env.sh文件中设置的JAVA_HOME目录。

在hbase-env.sh文件中

export JAVA_HOME=/usr/java/jdk1.6.0/ is set and commented.

为hbase设置的默认JAVA_HOME。

如果您将java home设置在不同的目录中,请编辑该行并注释掉它。

它将解决您的问题。

答案 2 :(得分:1)

请参阅以下内容:

&#34; Java需要安装并可用。如果您收到错误,指示未安装Java,但它位于您的系统上(可能位于非标准位置),请编辑conf / hbase-env.sh文件并修改JAVA_HOME设置以指向包含bin的目录/ java你的系统。&#34;

链接为http://hbase.apache.org/book/quickstart.html

答案 3 :(得分:1)

如果你已经在〜/ .bashrc文件中设置了JAVA_HOME路径,并且Hbase仍然给出了&#34;找不到JAVA_HOME&#34;的相同错误,请在/ etc / environment文件中设置JAVA_HOME。

我遇到这个问题,当我在&#39; / etc / environment&#39;

中设置JAVA_HOME时,它对我有用

答案 4 :(得分:1)

只需像这样修改hbase-env.sh

export JAVA_HOME=/your/java/path

我不知道为什么/etc/profile java路径不起作用,但这种方式可以帮到你。

答案 5 :(得分:0)

你必须设置JAVA主页 - &gt;你可以用两种方式做到这一点

在〜/ hbase-0.98.10-hadoop1 / conf中设置hbase-env.sh中的路径JAVA_HOME =&#39; PATH / TO / JAVE_HOME&#39;

在sudo下的终端执行用户$ export JAVA_HOME =&#39; PATH / TO / JAVE_HOME&#39;

完成OS X(10)希望这有帮助!