it-swarm.com.de

Hadoop: "ERROR: Java_HOME ist nicht gesetzt"

Ich versuche, Hadoop auf Ubuntu 11.10 zu installieren. Ich setze die Variable Java_HOME in der Datei conf/hadoop-env.sh auf: 

# export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk

und dann führe ich diese Befehle aus (Standalone-Betrieb):

$ mkdir input 
$ cp conf/*.xml input 
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+' 
$ cat output/*

ich habe jedoch den folgenden Fehler, wenn Sie den dritten Befehl ausführen:

FEHLER: Java_HOME ist nicht festgelegt

Ist die Variable Java_HOME nicht richtig eingestellt?

37
koukou

Stellen Sie sicher, dass Sie das Kommentar-Tag entfernt und Ihren Java_HOME im hadoop-env.sh sowie den entsprechenden .bashrc und/oder .profile geändert haben:

# export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk

sollte sein

export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk

Sie können Ihren Java_HOME und PATH für alle Benutzer festlegen (stellen Sie sicher, dass Sie zuvor keinen falschen Pfad festgelegt haben) in /etc/profile.

Vergessen Sie nicht, die neue Änderung zu aktivieren, indem Sie sich abmelden/einchecken oder source /etc/profile ausführen.

50
user1489515

Sie sollten Java_HOME in der hadoop-env.sh-Datei festlegen, die sich auch im Hadoop-Konfigurationsverzeichnis befindet ..__ Standardmäßig ist die Java_HOME-Einstellungszeile kommentiert.

29
nantitv

Geben Sie echo $Java_HOME in Ihr Terminal ein, um sicherzustellen, dass Ihr Java_HOME eingestellt ist.

Sie können auch Java -version eingeben, um zu wissen, welche Java-Version Sie tatsächlich verwenden.

Übrigens scheint das Lesen Ihrer Beschreibung Ihr Schreiben zu sein

export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk

in der Datei conf/hadoop-env.sh sollten Sie es in Ihr Terminal schreiben oder in ~/.bashrc oder ~/.profile und dann source < path to modified file > eingeben.

12
alain.janinm

Sie können in Ihre .bashrc-Datei hinzufügen:

export Java_HOME=$(readlink -f /usr/bin/Java | sed "s:bin/Java::")

und es ändert sich dynamisch, wenn Sie Ihre Pakete aktualisieren.

6
Paulo Fidalgo

Kopieren Sie diesen export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk in die hadoop-env.sh-Datei. 

Java_HOME ist der Ort, an dem Java-Binärdateien vorhanden sind.

1
American curl

Die Lösung, die für mich funktionierte, bestand darin, meinen Java_HOME in /etc/environment einzustellen.

Obwohl Java_HOME in den/etc/profile -Dateien festgelegt werden kann, ist Java_HOME der bevorzugte Ort für /etc/environment oder eine beliebige Systemvariable.

Öffnen Sie/etc/environment in einem beliebigen Texteditor wie nano oder vim und fügen Sie die folgende Zeile hinzu:

Java_HOME="/usr/lib/jvm/your_Java_directory"

Laden Sie die Variablen:

source /etc/environment

Prüfen Sie, ob die Variable korrekt geladen wurde:

echo $Java_HOME
0
Muthukrishnan

Ich habe die oben genannten Lösungen ausprobiert, aber das Folgende hat bei mir funktioniert

export Java_HOME=/usr/Java/default
0
Ajak6