Hauptklasse konnte nicht gefunden oder geladen werden, wenn versucht wird, nomenode zu formatieren; Hadoop-Installation unter MAC OS X 10.9.2

8

Ich versuche, ein Entwicklungs-Einzelknoten-Cluster-Setup auf meinem MAC OS X 10.9.2 mit hadoop zu bekommen. Ich habe verschiedene Online-Tutorials ausprobiert, wobei das neueste dieses ist >. Um zusammenzufassen, was ich getan habe:

%Vor%

Dieser installierte hadoop 2.2.0 in /usr/local/Cellar/hadoop/2.2.0

2) Konfigurierte Umgebungsvariablen. So sieht der relevante Teil meiner .bash_profile aus:

%Vor%

3) Konfiguriertes HDFS

%Vor%

3) Konfigurierte core-site.xml

%Vor%

4) Konfigurierte Garnseite.xml

%Vor%

5) Dann habe ich versucht den Namen zu formatieren mit:

%Vor%

Das gibt mir den Fehler: Fehler: Hauptklasse org.apache.hadoop.hdfs.server.namenkode.NameNode konnte nicht gefunden oder geladen werden.

Ich habe mir den hdfs-Code angeschaut, und die Zeile, die ihn ausführt, läuft auf Aufruf von

hinaus %Vor%

Da ich dachte, dass dies ein Klassenpfadproblem ist, habe ich ein paar Dinge ausprobiert.

a) Hinzufügen von hadoop-common-2.2.0.jar und hadoop-hdfs-2.2.0.jar zum Klassenpfad, wie Sie oben in meinem .bash_profile-Skript sehen können

b) Hinzufügen der Zeile

%Vor%

zu meinem .bash_profile auf Empfehlung von diesem Tutorial (Ich habe es später entfernt, weil es nicht t scheint etwas zu helfen)

c) Ich habe auch überlegt, ein Shell-Skript zu schreiben, das jedes jar in $ HADOOP_HOME / libexec / share / hadoop zu $ ​​HADOOP_CLASSPATH hinzufügt, aber das schien einfach unnötig und anfällig für zukünftige Probleme.

Irgendeine Idee, warum ich immer den Fehler bekomme: Konnte Hauptklasse org.apache.hadoop.hdfs.server.namenkode.NameNode nicht finden oder laden? Danke im Voraus.

    
Faiyam Rahman 11.04.2014, 16:28
quelle

3 Antworten

9

Aufgrund der Art und Weise, wie das Brühpaket ausgelegt ist, müssen Sie HADOOP_PREFIX auf den Ordner libexec im Paket verweisen:

%Vor%

Sie würden dann libexec aus Ihrer Deklaration des conf-Verzeichnisses entfernen:

%Vor%     
dcsesq 29.05.2014 21:49
quelle
4

Ich hatte das gleiche Problem, es war wegen der Rechte "root". Führen Sie den Befehl hadoop oder hdfs mit sudo wie zuvor aus:

%Vor%     
dTatlvi 17.08.2016 12:52
quelle
0

Probieren Sie $HADOOP_PREFIX/bin/hadoop namenode -format anstelle von $ HADOOP_PREFIX / bin / hdfs nameode -format

aus     
sachin 11.04.2014 16:54
quelle

Tags und Links