Ich benutze Hadoop Hadoop-2.0.0-MR1-Cdh4.1.2 in einem Cluster von 40 Maschinen. Jede Maschine hat 12 Festplatten, die von Hadoop verwendet werden. Einige Festplatten in einer Maschine waren unausgeglichen, und ich entschied mich, manuell wie in diesem Beitrag beschrieben auszugleichen: rebalance individual datanode in hadoop Ich stoppte den DataNode auf diesem Server, bewegte Blockdateipaare, bewegte ganze Unterverzeichnisse zwischen einigen der Festplatten.Nach manuellem Neuanpassung von hadoop HDDs Platten DataNode wird nicht neu gestartet
Sobald ich den DataNode gestoppt habe, beschwerte sich der NameNode über fehlende Blöcke, indem er die folgende Meldung in der UI anzeigt: WARNUNG: Es gibt 2002 fehlende Blöcke. Bitte überprüfen Sie die Protokolle oder führen Sie fsck aus, um die fehlenden Blöcke zu identifizieren.
Dann habe ich versucht, den DataNode neu zu starten. Es verweigert den erfolgreichen Start und protokolliert weiterhin Fehler und Warnungen wie folgt:
java.io.IOException: Ungültiger Verzeichnis- oder E/A-Fehler für Verzeichnis:/data/disk3/dfs/data/current/BP- 208475052-10.165.18.36-1351280731538/Strom/fertiggestellt/subdir61/subdir28
2013-12-20 01: 40: 29.046 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: IOException in offerService Java. io.IOException: Blockpool BP-208475052-10.165.18.36-1351280731538 wurde nicht gefunden
2013-12-20 01: 40: 29,088 FEHLER org.apache.hadoop.hdfs.server.datanode.DataNode: Ausnahme in BPOfferService für den Blockpool BP-208475052-10.165.18. 36-1351280731538 (Lagerung ID DS-737580588-10.165.18.36-50010-1351280778276) Dienst aspen8hdp19.turner.com/10.165.18.56:54310 java.lang.NullPointerException
2013-12-20 01:40: 34.088 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: IOException in offerService java.io.IOException: Block Pool BP-208475052-10.165.18.36-1351280731538 nicht
So gefunden, ich habe einige Fragen :
- Ist es nicht genug, den Ansatz zu folgen, den ich erwähnte? I.e. Stoppen Sie DataNode, verschieben Sie Blockdateipaare und/oder Unterverzeichnisse, starten Sie DataNode neu.
- Muss ich NameNode oder andere Dienste neu starten?
- Warum beschwert es sich über fehlende Blöcke oder beschädigte Dateien?
- Wie kann ich den DataNode neu starten und diese Ausnahmen loswerden, damit der DN erfolgreich mit dem NN kommunizieren kann?
Ich schätze Ihre Hilfe. Eduardo.