【发布时间】:2014-01-14 15:10:35
【问题描述】:
我已经阅读了一些关于设置 JAVA_HOME 的 cmets。因为我是这方面的初学者,所以在不知道自己在做什么的情况下,我没有编辑任何东西。我不想把事情搞得更糟。 所以如果你能指导我完成这个并告诉我我的编码有什么问题,我将非常感激。
我一直在尝试安装 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
这就是我的猜测。
【问题讨论】:
-
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-i386inhbase-env.sh被注释掉了? -
@DavidEverlöf:评论被淘汰是什么意思?我想我第一次阅读您的评论时,我理解错了。我以为您的意思是我应该在该评论中添加“#”,但当我这样做时,我开始收到错误消息!所以我猜你的意思是'outcommented'我不太明白的东西!
-
我的意思是
# export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-i386的行不应该有一个 startint#而是export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-i386! -
@DavidEverlöf:非常感谢大卫!这解决了我的问题。 HBase 刚刚启动,但是,当我输入
JPS时,它没有给我我正在寻找的H Master。它显示starting master, logging to /usr/local/hbase/hbase-0.94.6.1/bin/../logs/hbase-hduser-master-CSLAP106.out /usr/local/hbase/hbase-0.94.6.1/bin/hbase-daemon.sh: line 150: /usr/local/hbase/hbase-0.94.6.1/bin/../logs/hbase-hduser-master-CSLAP106.log: No such file or directory -
您确定以 root 身份运行脚本吗?
标签: java hadoop hbase java-home