我读过一些关于设置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/profile
java路径不起作用,但这种方式会对您有所帮助。
你必须设置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)上完成,希望这能有所帮助!