2012-02-14 50 views
3

我只是玩弄hbase(在EC2上),並且在啓動時遇到問題。下面是我得到:啓動hbase時未找到JAVA_HOME。有什麼建議麼?

[[email protected] ~]# 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.        | 
+======================================================================+ 

我擡頭錯誤並安裝OpenJDK的1.6和我的.bash_profile中設置JAVA_HOME變量和/ etc/profile文件(以防萬一HBase的運行爲不同的用戶)。它似乎已生效:

[[email protected] ~]# 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) 
[[email protected] ~]# echo $JAVA_HOME 
/usr/bin/java 

但啓動hbase時仍然出現此錯誤。我不是java的famlair,所以我不確定我做錯了什麼。如果有幫助,我在ec2和cloudera的hbase/hadoop軟件包的倉庫上使用centos6。

回答

7

JAVA_HOME不應該指向java可執行文件,而是指向可以找到其他java文件的地方。我想是/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/。 I 認爲您可以使用update-alternatives --display java來顯示安裝的所有javas。

+0

仍然沒有運氣,我根據update-alternatives --display java中的位置將JAVA_HOME更改爲/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin,但仍然沒有運氣。當我從該路徑啓動時,它可以直接從命令行啓動它 – Lostsoul 2012-02-14 16:51:29

+2

不是bin,bin上面的文件夾! export JAVA_HOME =/usr/lib/jvm/jre-1.6.0 -openjdk.x86_64 – 2012-02-14 16:52:56

+0

這樣做!非常感謝彼得。所以就我的知識而言,軟件包想知道頂級文件夾,以便他們可以在它下面找到bin/lib等,而不僅僅是可執行文件,然後從那裏開始工作?或者這是唯一的Java? – Lostsoul 2012-02-14 17:01:40

2

檢查腳本/etc/init.d/hadoop-hbase-master,看看它在哪裏試圖找到Java也可以在調試模式下運行它。

SH -x /etc/init.d/hadoop-hbase-master開始

+0

謝謝,這是有益的..指向我在正確的方向,這裏是錯誤「/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/bin/java:沒有這樣的文件或目錄」它有一個額外的路徑bin ..但它從哪裏得到?我的.bash_profile很好。 – Lostsoul 2012-02-14 16:53:59

0

,如果你願意,你可以在堅硬的/etc/init.d/hadoop-hbase-master腳本代碼的Java路徑快速檢查。

0

可能$ JAVA_HOME指向JRE主頁。檢查並確認垃圾箱中是否存在javac

1

如果您已經在bashrc中設置了JAVA_HOME並且仍然無法正常工作,請嘗試在/ etc/environment文件中將其設置。

相關問題