2016-06-29 12 views
1

Ich habe Probleme mit einem Cluster von 72 Maschinen. 60 von ihnen sind HOT-Speicher und 12 sind kalt. Wenn ich versuche, Daten in COLD Hive Tabellen zu setzen manchmal bekam ich einen Fehler:Hadoop CDH. Datei konnte nur auf 0 Knoten repliziert werden statt minReplication (= 1)

Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /user/hive/warehouse/test.db/rawlogs/dt=2016-01-31/.hive-staging_hive_2016-06-29_12-54-09_949_6553181118480369018-1/_task_tmp.-ext-10002/_tmp.001029_3 could only be replicated to 0 nodes instead of minReplication (=1). There are 71 datanode(s) running and no node(s) are excluded in this operation. 

Es gibt eine Menge freien Speicherplatz auf beide Host-FS und HDFS ist.

Configured Capacity | Capacity Used | Capacity Remaining | Block Pool Used

ARCHIVE 341.65 TB 56.64 TB (16.58%) 267.65 TB (78.34%) 56.64 TB

DISK 418.92 TB 247.78 TB (59.15%) 148.45 TB (35.44%) 247.78 TB

Ich habe 4 Racks für COLD-Server definiert.

Rack: /50907 1 node

Rack: /50912 1 node

Rack: /50917 1 node

Rack: /80104 9 nodes

Es ist ein Arbeits Cluster und ich kann nicht nur Bereinigung alle Daten wie auf ähnliche Frage auf Stackoverflow vorgeschlagen.

Aktualisierung. Ich entschied mich für ein erneutes Topologie-Skript für alle Server im Cluster. Nach dem Deployment habe ich für alle Hadoop-Daemons auf jedem Knoten einschließlich namenode neu gestartet, aber dfsadmin -showTopology zeigt das alte Schema. Was muss ich tun, um die Cluster-Topologie zu erneuern? Vielleicht eine Art von Cache etc.

Antwort

1

Bitte überprüfen Sie und versuchen Sie, alle 8 möglichen Ursachen/Bedingungen zu beseitigen, wie hier erwähnt - https://wiki.apache.org/hadoop/CouldOnlyBeReplicatedTo. Nur wenn alle diese Bedingungen ausgeschlossen sind und Sie das Problem nicht selbst lösen können, sollten Sie sich die folgende Vorgehensweise ansehen.

ACHTUNG: Die Namenscode Formatierung zerstört Daten auf HDFS !!.

Schritte zur Lösung dieses Problems sind bereits dokumentiert here, here und here. Daher gebe ich nur die High-Level-Schritte ohne exakte Befehle, wie sie in den oben genannten Links zu finden sind, um Doppelungen zu vermeiden.

  1. Stoppen Sie alle Hadoop-Daemons
  2. entfernen relevanten temporären Dateien (oben genannten Links verweisen)
  3. Format NameNode
  4. Starten Sie alle Hadoop Daemons
+0

@ janeshs-- was mit vorhandenen Daten geschehen, wenn du formatierst den namenode ?? – Farooque

+0

@Farooque - Dieses Problem muss leider in vielen Fällen beachtet werden. – janeshs

+0

Danke für Anregungen! Leider sind nicht alle 8 Bedingungen im Wiki mit meinem Problem verbunden. Ich persönlich denke, dass ich die Netztopologie für COLD-Daten ändern muss. Wie Sie sehen können, gibt es 4 Racks und 3 davon enthalten nur 1 Knoten. – Samriang