(HBase)错误:未设置JAVA_HOME,找不到JAVA



我读过一些关于设置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

这就是我的全部猜测。

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

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

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

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主页设置在不同的目录中,请编辑行并注释掉。

它会解决你的问题。

请参阅以下内容:

Java需要安装并可用。如果您收到一个错误,表明Java没有安装,但它在您的系统上,可能在非标准位置,请编辑conf/hbase-env.sh文件并修改Java_HOME设置,使其指向包含您的系统bin/Java的目录。

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

如果您已经在~/.bashrc文件中设置了JAVA_HOME路径,但Hbase仍然给出相同的错误"JAVA_HOMEnot found",请在/etc/environment文件中设置JAVA_HOME。

我面临这个问题,当我在"/etc/environment"中设置JAVA_HOME时,它对我有效

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

export JAVA_HOME=/your/java/path

我不知道为什么/etc/profilejava路径不起作用,但这种方式会对您有所帮助。

你必须设置JAVA主页->你可以用两种方法

在~/hbase-0.981-hadoop1/conf JAVA_HOME='path/TO/JAVE_HOME'中的hbase-env.sh中设置路径

或在sudo下的终端中执行用户$export JAVA_HOME='PATH/TO/JAVE_HOME'

在OS X(10)上完成,希望这能有所帮助!

最新更新