2013-05-23 13 views
11

Ich versuche, hadoop als root-Benutzer auszuführen, führte ich nomenode Format Befehl hadoop namenode -format, wenn das Hadoop-Dateisystem ausgeführt wird.Hadoop - namenode startet nicht

Danach, wenn ich versuche, den Namen Knoten-Server zu starten, zeigt es Fehler wie unten

13/05/23 04:11:37 ERROR namenode.FSNamesystem: FSNamesystem initialization failed. 
java.io.IOException: NameNode is not formatted. 
     at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:330) 
     at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:100) 
     at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:411) 

Ich habe versucht, für jede Lösung zu suchen, kann aber keine klare Lösung finden.

Kann jemand vorschlagen?

Danke.

+2

Haben Sie Ihre HDFS-Daemons gestartet? Schau hier, es könnte http://blog.abhinavmathur.net/2013/01/experience-with-setting-multinode helfen.html – abhinav

+0

Danke Abhinav .. Ihr Link gab mir Antworten .. – balanv

+0

Warum würden Sie HDFS formatieren, während die Dämonen laufen? – Tariq

Antwort

15

Cool, ich habe die Lösung gefunden.

Stoppen Sie alle laufenden Server

1) stop-all.sh 

Bearbeiten Sie die Datei /usr/local/hadoop/conf/hdfs-site.xml und unter Konfiguration hinzufügen, wenn seine

<property> 
    <name>dfs.data.dir</name> 
    <value>/app/hadoop/tmp/dfs/name/data</value> 
    <final>true</final> 
    </property> 
    <property> 
    <name>dfs.name.dir</name> 
    <value>/app/hadoop/tmp/dfs/name</value> 
    <final>true</final> 
</property> 

starten beide HDFS und MapReduce Daemons

2) start-dfs.sh 
3) start-mapred.sh 

Dann jetzt die fehlende laufen Die restlichen Schritte zum Ausführen der Karte reduzieren die inangegebene Stichprobe

Hinweis: Sie sollten den Befehl bin/start-all.sh ausführen, wenn der direkte Befehl nicht ausgeführt wird.

+2

als Erinnerung, Nomenode wurde für mich formatiert benötigt. 'bin/hadoop nameode -format' – erencan

+1

Yup. wir können den Befehl 'hadoop namenode -format -force' verwenden, falls wir irgendein Problem mit' hadoop namenode -format' haben. – balanv

2

format hdfs wenn namenode stop. (Genau wie die obere antwort).

Ich füge weitere Details hinzu.

Der Befehl FORMAT prüft oder erstellt den Pfad/dfs/name und initialisiert oder initialisiert ihn neu. dann Ausführen von Start -dfs.sh würde Namenknoten, Datanode, dann Namensekundär ausführen. Wenn die namenode-Prüfung nicht Pfad/dfs/name existiert oder nicht initialisiert wird, tritt ein schwerwiegender Fehler auf und wird beendet. Deshalb NameNode nicht gestartet.

mehr Details Sie HADOOP_COMMON überprüfen/logs/XXX.namenode.log

11

DFS muss formatiert werden. Geben Sie einfach den folgenden Befehl aus, nachdem Sie alle gestoppt und neu gestartet haben.

hadoop namenode -format 
+0

hdfs namenode -format benutze dies in hadoop2.6 – Koitoer

0

hdfs-site.xml Ihr Wert ist falsch. Sie geben den falschen Ordner ein, deshalb startet der Name Node nicht.

0

Erste mkdir [Ordner], dann setzen hdfs-site.xml dann Format

0

sicher, dass das Verzeichnis-Namen (dfs.name.dir) und Daten (dfs.data.dir) Ordner korrekt aufgeführt in hdfs-site.xml

1

Stellen Sie sicher, dass das Verzeichnis, das Sie für Ihren Namen angegeben haben, vollständig leer ist. Etwas wie ein Ordner "lost + found" in diesem Verzeichnis wird diesen Fehler auslösen.

Verwandte Themen