(hbase)错误:未设置java\u home并且找不到java

v2g6jxz6  于 2021-06-03  发布在  Hadoop
关注(0)|答案(6)|浏览(437)

我读了一些关于把javau带回家的评论。因为我是这方面的初学者,我没有在不知道我在做什么的情况下编辑任何东西。我不想把事情搞得更糟。所以,如果你能指导我通过这一点,告诉我什么是我的编码错误,我会非常感谢。
我一直在尝试安装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
这就是 hadoop-env.sh 在其中,我将java\u设置为:


# 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 ```

hbase.rootdir
hdfs://localhost:54310 /hbase

这是给 `hbase-env.sh` ```

# The java implementation to use.  Java 1.6 required.

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

我猜就这些。

tvz2xvvm

tvz2xvvm1#

hbase尝试读取hbase-env.sh文件上设置的java\u主目录。
在hbase-env.sh文件中

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

hbase的默认java\u主页集。
如果您在不同的目录中设置java home,请编辑该行并注解掉它。
它会解决你的问题。

bksxznpy

bksxznpy2#

只需修改 hbase-env.sh 这样地:

export JAVA_HOME=/your/java/path

我不知道为什么 /etc/profile javapath不起作用,但是这种方法可以帮助您。

wkyowqbh

wkyowqbh3#

显然hbase找不到javahome和javabinary,尽管您可以运行 java -version 在当地。
你应该跑 export JAVA_HOME=/the/path/of/you/jdk/ 在运行hbase之前。
顺便说一句, echo JAVA_HOME JAVA_HOME 不正确。你可能想要 echo $JAVA_HOME .

ct3nt3jp

ct3nt3jp4#

如果您已经在~/.bashrc文件中设置了java\u home路径,并且hbase仍然给出相同的错误“java\u home not found”,请在/etc/environment文件中设置java\u home。
我面临这个问题,当我在'/etc/environment'中设置java\u home时,它对我起了作用

f87krz0w

f87krz0w5#

您必须设置java home->您可以用两种方法来实现这一点
在~/hbase-0.98.10-hadoop1/conf java\u home='path/to/jave\u home'中的hbase-env.sh中设置路径
或者在sudo execute user$export java\u home='path/to/jave\u home'下的终端中
在OSX(10)上完成,希望这有帮助!

n53p2ov0

n53p2ov06#

请参考以下内容:
“java需要安装并可用。如果您收到一个错误,指出java没有安装,但它在您的系统上,可能在非标准位置,请编辑conf/hbase-env.sh文件,并修改java\u home设置以指向包含bin/java系统的目录。”
链接是http://hbase.apache.org/book/quickstart.html

相关问题