我已经阅读了一些关于设置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
这就是我想的。
答案 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;
答案 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)希望这有帮助!