启动hbase时找不到JAVA_HOME.有什么建议?

Los*_*oul 3 java linux hadoop hbase amazon-ec2

我只是在玩hbase(在EC2上)并且在我启动时遇到问题.这是我得到的:

[root@domU-12-31-39-13-D6-62 ~]# sudo /etc/init.d/hadoop-hbase-master start
+======================================================================+
|      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.                             |
+======================================================================+
Run Code Online (Sandbox Code Playgroud)

我查找了错误并安装了openjdk 1.6并在我的.bash_profile和/ etc/profile中设置了java_home变量(以防hbase作为不同的用户运行).它似乎生效了:

[root@domU-12-31-39-13-D6-62 ~]# java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.4) (rhel-1.42.1.10.4.el6_2-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
[root@domU-12-31-39-13-D6-62 ~]# echo $JAVA_HOME
/usr/bin/java
Run Code Online (Sandbox Code Playgroud)

但是在启动hbase时我仍然会遇到此错误.我不是那种带有java的家伙,所以我不确定我做错了什么.如果它有帮助,我在ec2上使用centos6,在hbase/hadoop包中使用cloudera的存储库.

Pet*_*son 7

JAVA_HOME不应该指向java可执行文件',而是指向可以找到其余java文件的位置.

我想是的/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/.我认为你可以update-alternatives --display java用来显示所有安装的javas.

  • 不是bin,bin上面的文件夹!export JAVA_HOME =/usr/lib/jvm/jre-1.6.0-openjdk.x86_64 (2认同)
  • 想知道一些奇怪的事吗?当我在前面运行没有sudo的命令但是当我运行sudo然后命令我仍然得到java_home错误时,它工作.所以奇怪. (2认同)