JAVA _Home ist nicht in Hadoop festgelegt

9

Ich bin ein Anfänger mit hadoop und versuche, hadoop in meinem Ubuntu als Einzelknotencluster zu installieren und auszuführen. Das ist mein JAVA_HOME in meinem hadoop_env.sh

%Vor%

Aber wenn ich es starte, kommen die folgenden Fehler -

%Vor%

Wie kann ich diesen Fehler entfernen?

    
ayushman999 17.12.2013, 07:15
quelle

8 Antworten

15

Ich debuggte den Code und fand heraus, dass, obwohl JAVA_HOME in der Umgebung festgelegt ist, der Wert verloren geht, da ssh-Verbindungen zu anderen Hosts innerhalb des Codes hergestellt werden und die JAVA_HOME-Variable, die in start-dfs gut angezeigt wurde. sh wurde in hadoop-env.sh unscharf.

Die Lösung für dieses Problem besteht darin, die Variable JAVA_HOME in hadoop- env.sh zu setzen, und sie sollte ordnungsgemäß funktionieren.

    
Sohil Jain 16.03.2015 19:58
quelle
15

Ich hatte den gleichen Fehler und löste es mit Soil Jains Bemerkung, aber um es noch ein bisschen klarer zu machen: Die hadoop-env.sh verwendet einen Ausdruck wie

%Vor%

Wenn Sie den Pfad zu Ihrer JVM-Installation fest codieren, funktioniert

%Vor%

Diese Auflösung nach Umgebungsvariablen scheint zu scheitern. Hard-Codierung hat das Problem für mich behoben.

    
toobee 01.04.2015 09:43
quelle
5

Aktualisieren Sie in Ihrem HADOOP_HOME / conf Verzeichnis die Datei hadoop-env.sh . Es hat einen Eintrag, um JAVA_HOME zu exportieren.

Die Einstellung auf JAVA_HOME in dieser Datei sollte Ihr Problem lösen.

    
Ankur Shanbhag 17.12.2013 07:22
quelle
1

Laden Sie hadoop_env.sh ? Sie verweisen möglicherweise auf hadoop-env.sh (Bindestrich statt Unterstrich - das ist unter conf-Verzeichnis)

BTW, Dies ist eine sehr nützliche Anleitung für die schnelle Installation:

Ссылка

    
griffon vulture 17.12.2013 07:20
quelle
0

Die obigen Antworten sollten so lange funktionieren, wie Sie das Standardverzeichnis conf $HADOOP_HOME/conf oder $HADOOP_HOME/etc/hadoop verwenden. Hier sind ein paar Dinge, die Sie tun sollten, wenn Sie einen anderen conf-Ordner verwenden.

  1. Kopieren Sie die Datei hadoop-env.sh aus dem Standardverzeichnis conf in den Ordner conf, sagen Sie /home/abc/hadoopConf .
  2. Ersetzen Sie die Zeile

    %Vor%

    mit den folgenden:

    %Vor%

Ändern Sie die Werte entsprechend. Wenn Sie weitere Umgebungsvariablen für hadoop konfiguriert haben, die in Ihrem .bashrc oder .profile oder .bash_profile konfiguriert sind, können Sie diese neben den obigen Zeilen hinzufügen.

    
Jo Kachikaran 28.01.2017 10:16
quelle
0

Ich benutze hadoop 2.8.0. Obwohl ich JAVA_HOME exportiert habe (ich habe es in .bashrc eingefügt), habe ich immer noch diesen Fehler beim Ausführen von start-dfs.sh entdeckt.

%Vor%

Der einzige Weg, wie ich es zum Laufen bringen konnte, war, JAVA_HOME = path_to_java zu etc / hadoop / hadoop-env.sh hinzuzufügen und dann zu quellen:

%Vor%

Vielleicht war das (Sourcing hadoop- env.sh) in den obigen Beiträgen enthalten. Ich dachte nur, jemand sollte es laut sagen. Jetzt läuft es. Ich habe andere Probleme (vermutlich wegen der begrenzten Ressourcen auf dem Server, den ich benutze) gefunden, aber zumindest bin ich an diesem vorbeigekommen.

    
mule.ear 19.04.2017 15:55
quelle
0

Zuerst müssen Sie JAVA_HOME in Ihrem hadoop_env.sh festlegen. (Ihr lokaler JAVA_HOME in .bashrc würde wahrscheinlich irgendwie ignoriert werden)

%Vor%

Dann setze HADOOP_CONF_DIR point auf das Verzeichnis deiner hadoop_env.sh . Fügen Sie in ~ / .bashrc die folgende Zeile hinzu:

%Vor%

Dabei ist /usr/local/hadoop/etc/hadoop das Verzeichnis, das hadoop_env.sh

enthält     
Haha TTpro 06.11.2017 03:04
quelle
-1

Der Speicherplatz zwischen Programm und Dateien ist nicht bekannt: "Programme". Also kopiere ich den Ordner von jdk nach C: oder den Ordner, der keinen Platz im Namen des Ordners enthält und weise zu: export JAVA_HOME = Name_Path_Copied. Ich sehe es in Ordnung laufen

    
hoang 01.06.2015 01:51
quelle

Tags und Links