2014-01-14 81 views
9

我讀過一些關於設置JAVA_HOME的註釋。由於我是初學者,所以在沒有任何知識的情況下我沒有編輯任何東西。我不想把事情搞得比這更糟糕。 所以如果你能指導我通過這個,告訴我我的編碼有什麼問題,我會非常感激。(HBase)錯誤:沒有設置JAVA_HOME,Java無法找到

我一直在試圖安裝Hadoop和HBase。在經歷了很多困難和錯誤解決之後,我終於可以安裝Hadoop,並在運行start-all.sh時獲得此輸出,並且一切似乎都正常。

> [email protected]:~$ /usr/local/hadoop/bin/start-all.sh 

> [email protected]:~$ jps 

> 3005 NameNode 

> 3404 JobTracker 

> 5570 Jps 

> 3554 TaskTracker 

> 3311 SecondaryNameNode 

我也有這個Java版本,當我鍵入echo JAVA_HOME,我得到這樣的輸出:

> [email protected]:~$ 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) 
> [email protected]:~$ echo JAVA_HOME JAVA_HOME 

在此之後,我試圖安裝HBase的(我覺得我快要放棄),並不斷我得到的錯誤JAVA_HOME is not set and java cannot be found

這是我試圖啓動HBase的:

[email protected]:~$ /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的

這是hadoop-env.sh我在其中設置JAVA_HOME:

# 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 

這是我猜。

+1

'hbase-env.sh'中的'export JAVA_HOME =/usr/lib/jvm/java-1.7.0-openjdk-i386'是否已被註釋掉? – netigger

+0

@DavidEverlöf:通過評論,你是什麼意思?我想我第一次讀你的評論,我錯了。我以爲你的意思是我應該在評論中加上'#',當我這樣做時,我開始接受錯誤!所以我想你的意思是'outcommented'esle我沒有完全得到! – Nazanin

+1

我的意思是''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'取而代之! – netigger

回答

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

請參考以下:

「Java需要安裝和使用。如果你表明沒有安裝Java的錯誤,但它是你的系統上,也許在一個非標準位置,編輯。 conf/hbase-env。SH文件並修改JAVA_HOME設置爲指向包含斌/ Java的系統目錄「

的聯繫是http://hbase.apache.org/book/quickstart.html

0

你必須設置Java主 - >你能做到這兩個方面

要麼設置在hbase-env.sh路徑在〜/ HBase的-0.98.10-hadoop1/CONF JAVA_HOME = 'PATH/TO/JAVE_HOME'

或終端下須藤執行用戶$出口JAVA_HOME =「PATH/TO/JAVE_HOME'

完成在OS X上(10)希望這有助於!

1

如果您已經在〜/ .bashrc文件中設置了JAVA_HOME路徑,並且Hbase仍然給出了「JAVA_HOME not found」的錯誤,請在/ etc/environment文件中設置JAVA_HOME。

我面對這個問題和它的工作對我來說,當我設置JAVA_HOME在「的/ etc /環境」

0

就修改hbase-env.sh這樣的:

export JAVA_HOME=/your/java/path 

我不知道是什麼原因/etc/profile java的路徑不起作用,但這種方式會幫助你。

1

Hbase嘗試讀取hbase-env.sh文件中設置的JAVA_HOME目錄。

在hbase-env.sh文件中#export JAVA_HOME =/usr/java/jdk1.6.0/被設置和註釋。

但它是hbase的默認JAVA_HOME。如果您將java home設置在不同的目錄中,請編輯該行並將其註釋掉。

它會解決你的問題。