2014-01-14 6 views
9

Ich habe einige Kommentare über die Einstellung von JAVA_HOME gelesen. Da ich ein Anfänger bin, habe ich nichts bearbeitet, ohne zu wissen, was ich mache. Ich wollte die Dinge nicht noch mehr vermasseln. Also, wenn Sie mich durch das führen und mir sagen können, was mit meiner Codierung falsch ist, würde ich es wirklich schätzen.(HBase) Fehler: JAVA_HOME ist nicht gesetzt und Java konnte nicht gefunden werden

Ich habe versucht, Hadoop und dann HBase zu installieren. Nach vielen Schwierigkeiten und Fehlerbehebungen konnte ich endlich Hadoop installieren, und bekam diese Ausgabe, als ich start-all.sh lief und alles schien in Ordnung zu sein.

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

> [email protected]:~$ jps 

> 3005 NameNode 

> 3404 JobTracker 

> 5570 Jps 

> 3554 TaskTracker 

> 3311 SecondaryNameNode 

ich auch diese Java-Version haben, und wenn ich echo JAVA_HOME geben, bekomme ich diese Ausgabe:

> [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 

Danach habe ich versucht, HBase zu installieren (was ich denke, ich bin über bis zu geben,), und ständig erhalte ich die Fehlermeldung, dass JAVA_HOME is not set and java cannot be found

Dies ist, was ich anfangen Hbase versucht:

[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.        | 
+======================================================================+ 

Ich überprüfe auch in diesem Verzeichnis /usr/local/hbase/hbase-0.94.6.1/bin, um zu sehen, ob es Java erkennt oder nicht, und es tut!

Nachdem ich durch Strackoverflow und die Antworten anderer Leute auf das gleiche Problem gesucht habe, habe ich versucht, sie auf meine .xml und .sh Dateien anzuwenden, aber wieder ist nichts passiert.

Für Hadoop

ist dies die hadoop-env.sh in dem ich die JAVA_HOME gesetzt:

# The java implementation to use. Required. 
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 

Dies ist die Bearbeitung für 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 

Für HBase

Dies sind die Änderungen ich in hbase-site.xml

<property> 
     <name>hbase.rootdir</name> 
    <value>hdfs://localhost:54310 /hbase</value> 
</property> 

für die hbase-env.sh

# The java implementation to use. Java 1.6 required. 
# export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-i386 

Das alles erraten Dies ist gemacht habe ich ist.

+1

'export JAVA_HOME =/usr/lib/jvm/java-1.7.0-openjdk-i386' in' hbase-env.sh' ist outcommented? – netigger

+0

@ DavidEverlöf: Durch Out-kommentiert, was meinst du? Ich denke, das erste Mal, als ich deinen Kommentar gelesen habe, habe ich es falsch verstanden. Ich dachte, du meintest, ich hätte '#' zu diesem Kommentar hinzufügen sollen, und als ich es getan habe, habe ich Fehler bekommen! Also ich denke, du hast etwas mit "outcommented" gemeint, das ich nicht ganz verstanden habe! – Nazanin

+1

Ich meinte, dass die Zeile, die '# export JAVA_HOME =/usr/lib/jvm/java-1.7.0-openjdk-i386' ist, kein startint' # 'haben und' export JAVA_HOME =/usr/lib/jvm sein sollte/java-1.7.0-openjdk-i386' stattdessen! – netigger

Antwort

4

Anscheinend konnte die HBase JAVA_HOME und Java-Binär nicht finden, obwohl Sie java -version lokal ausführen können.

Sie sollten export JAVA_HOME=/the/path/of/you/jdk/ ausführen, bevor HBase ausgeführt wird.

BTY, echo JAVA_HOME JAVA_HOME ist falsch. Vielleicht möchten Sie echo $JAVA_HOME.

1

Siehe unten:

„Java installiert werden muss und verfügbar Wenn Sie einen Fehler anzeigt, dass Java nicht installiert ist, aber es ist auf Ihrem System, vielleicht in einem Nicht-Standard-Standort, zu bearbeiten. das conf/hbase-env.sh-Datei und ändern Sie die JAVA_HOME auf das Verzeichnis zu zeigen, Einstellung, die bin/java System enthält“

Der Link ist http://hbase.apache.org/book/quickstart.html

0

Sie haben die JAVA nach Hause zu setzen. -> Sie können diese zwei Arten tun

setzen Sie entweder den Pfad in hbase-env.sh in ~/hbase-0.98.10-hadoop1/conf JAVA_HOME = 'path/to/JAVE_HOME'

ODER im Terminal unter sudo Benutzer $ export JAVA_HOME = ‚PATH ausführen/TO/JAVE_HOME '

Fertig unter OS X (10) hoffentlich hilft das!

1

Wenn Sie den Pfad JAVA_HOME bereits in der Datei ~/.bashrc festgelegt haben und Hbase immer noch den gleichen Fehler wie "JAVA_HOME not found" gibt, setzen Sie JAVA_HOME in der Datei/etc/environment.

ich dieses Problem konfrontiert und es funktionierte für mich, wenn ich JAVA_HOME gesetzt in '/ etc/environment'

0

Gerade hbase-env.sh wie folgt ändern:

export JAVA_HOME=/your/java/path 

Ich weiß nicht, warum /etc/profile Java-Pfad funktioniert nicht, aber dieser Weg würde dir helfen.

1

Hbase versucht, das Verzeichnis JAVA_HOME auf der Datei hbase-env.sh zu lesen.

In der Datei hbase-env.sh # export JAVA_HOME =/usr/java/jdk1.6.0/ ist gesetzt und kommentiert.

Aber es ist die Standard-JAVA_HOME für HBase. Wenn Sie Java in einem anderen Verzeichnis einrichten, bearbeiten Sie die Zeile und kommentieren Sie sie.

Es wird Ihr Problem lösen.

Verwandte Themen