2013-12-20 6 views
5

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.

Antwort

2

Ich werde meine eigene Frage hier beantworten.

Das Problem, das ich hatte, wurde verursacht, indem ich die falschen Datei-/Verzeichnisberechtigungen und Eigentumsrechte hatte, nachdem ich die Datenblöcke verschoben hatte. Ich habe den Schritt als root und verschobene Dateien mit den folgenden Berechtigungen endeten:

drwx ----- T 2 root root 12288 19. Dezember 23.14 subdir28

Einmal habe ich es wieder auf den ursprünglichen geändert, Der DN wurde ordnungsgemäß neu gestartet, und die NN hat die Meldung fehlender Blöcke oder beschädigter Dateien beendet.Hier sind die Berechtigungen, die es haben sollte:

drwxr-xr-t 2 hdfs hadoop 12288 Dez 20 11:47 subdir28

Verwandte Themen