2015-08-20 19 views
5

Ich bin Kopieren HDFS Snapshot S3 Eimer, unter Fehler bekommen: Der Befehl i Ausführung bin ist: hadoop distcp /.snapshot/$SNAPSHOTNAME s3a: // $ ACCESSKEY : $ SecretKey @ $ WANNE/$ SNAPSHOTNAMEdistcp mit Fehler Fehler "Kein Platz auf dem Gerät links"

15/08/20 06:50:07 INFO mapreduce.Job: map 38% reduce 0% 
15/08/20 06:50:08 INFO mapreduce.Job: map 39% reduce 0% 
15/08/20 06:52:15 INFO mapreduce.Job: map 41% reduce 0% 
15/08/20 06:52:37 INFO mapreduce.Job: Task Id : attempt_1439998402428_0006_m_000004_0, Status : FAILED 
Error: java.io.IOException: File copy failed: hdfs://mycluster/.snapshot/HDFS-SNAPSHOT-PROD.08-20-2015-06-06/tmp/hive/vladmetodiev/6da8eee9-f482-4d07-96dc-87ff77a4efe4/hive_2015-07-23_17-12-21_989_8312247652079703611-121/-ext-10001/000035_0 --> s3n://AKIAJPPHQ6RXAPWCFMAA:[email protected]/HDFS-SNAPSHOT-PROD.08-20-2015-06-06/tmp/hive/vladmetodiev/6da8eee9-f482-4d07-96dc-87ff77a4efe4/hive_2015-07-23_17-12-21_989_8312247652079703611-121/-ext-10001/000035_0 
     at org.apache.hadoop.tools.mapred.CopyMapper.copyFileWithRetry(CopyMapper.java:284) 
     at org.apache.hadoop.tools.mapred.CopyMapper.map(CopyMapper.java:252) 
     at org.apache.hadoop.tools.mapred.CopyMapper.map(CopyMapper.java:50) 
     at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145) 
     at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784) 
     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) 
     at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at javax.security.auth.Subject.doAs(Subject.java:415) 
     at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) 
     at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) 
Caused by: java.io.IOException: Couldn't run retriable-command: Copying hdfs://mycluster/.snapshot/HDFS-SNAPSHOT-PROD.08-20-2015-06-06/tmp/hive/vladmetodiev/6da8eee9-f482-4d07-96dc-87ff77a4efe4/hive_2015-07-23_17-12-21_989_8312247652079703611-121/-ext-10001/000035_0 to s3n://AKIAJPPHQ6RXAPWCFMAA:[email protected]/HDFS-SNAPSHOT-PROD.08-20-2015-06-06/tmp/hive/vladmetodiev/6da8eee9-f482-4d07-96dc-87ff77a4efe4/hive_2015-07-23_17-12-21_989_8312247652079703611-121/-ext-10001/000035_0 
     at org.apache.hadoop.tools.util.RetriableCommand.execute(RetriableCommand.java:101) 
     at org.apache.hadoop.tools.mapred.CopyMapper.copyFileWithRetry(CopyMapper.java:280) 
     ... 10 more 
Caused by: java.io.IOException: No space left on device 
     at java.io.FileOutputStream.writeBytes(Native Method) 
     at java.io.FileOutputStream.write(FileOutputStream.java:345) 
     at java.security.DigestOutputStream.write(DigestOutputStream.java:148) 
     at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122) 
     at org.apache.hadoop.fs.s3native.NativeS3FileSystem$NativeS3FsOutputStream.write(NativeS3FileSystem.java:293) 
     at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:58) 
     at java.io.DataOutputStream.write(DataOutputStream.java:107) 
     at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122) 
     at org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.copyBytes(RetriableFileCopyCommand.java:255) 
     at org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.copyToFile(RetriableFileCopyCommand.java:184) 
     at org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.doCopy(RetriableFileCopyCommand.java:124) 
     at org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.doExecute(RetriableFileCopyCommand.java:100) 
     at org.apache.hadoop.tools.util.RetriableCommand.execute(RetriableCommand.java:87) 
     ... 11 more 

15/08/20 06:53:13 INFO mapreduce.Job: Task Id : attempt_1439998402428_0006_m_000007_0, Status : FAILED 
Error: java.io.IOException: File copy failed: hdfs://mycluster/.snapshot/HDFS-SNAPSHOT-PROD.08-20-2015-06-06/apps/hbase/data/data/default/XXHBCL01/985fbc7692868e3315ada852bcb59e1d/tr/77c160e32bfc4175a65d6a56feaeeb6c --> s3n://AKIAJPPHQ6RXAPWCFMAA:[email protected]/HDFS-SNAPSHOT-PROD.08-20-2015-06-06/apps/hbase/data/data/default/XXHBCL01/985fbc7692868e3315ada852bcb59e1d/tr/77c160e32bfc4175a65d6a56feaeeb6c 
     at org.apache.hadoop.tools.mapred.CopyMapper.copyFileWithRetry(CopyMapper.java:284) 
     at org.apache.hadoop.tools.mapred.CopyMapper.map(CopyMapper.java:252) 
     at org.apache.hadoop.tools.mapred.CopyMapper.map(CopyMapper.java:50) 
     at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145) 
     at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784) 
     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) 
     at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at javax.security.auth.Subject.doAs(Subject.java:415) 
     at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) 
     at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) 
Caused by: java.io.IOException: Couldn't run retriable-command: Copying hdfs://mycluster/.snapshot/HDFS-SNAPSHOT-PROD.08-20-2015-06-06/apps/hbase/data/data/default/XXHBCL01/985fbc7692868e3315ada852bcb59e1d/tr/77c160e32bfc4175a65d6a56feaeeb6c to s3n://AKIAJPPHQ6RXAPWCFMAA:[email protected]/HDFS-SNAPSHOT-PROD.08-20-2015-06-06/apps/hbase/data/data/default/XXHBCL01/985fbc7692868e3315ada852bcb59e1d/tr/77c160e32bfc4175a65d6a56feaeeb6c 
     at org.apache.hadoop.tools.util.RetriableCommand.execute(RetriableCommand.java:101) 
     at org.apache.hadoop.tools.mapred.CopyMapper.copyFileWithRetry(CopyMapper.java:280) 
     ... 10 more 
Caused by: java.io.IOException: No space left on device 
     at java.io.FileOutputStream.writeBytes(Native Method) 
     at java.io.FileOutputStream.write(FileOutputStream.java:345) 
     at java.security.DigestOutputStream.write(DigestOutputStream.java:148) 
     at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122) 
     at org.apache.hadoop.fs.s3native.NativeS3FileSystem$NativeS3FsOutputStream.write(NativeS3FileSystem.java:293) 
     at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:58) 
     at java.io.DataOutputStream.write(DataOutputStream.java:107) 
     at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122) 
     at org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.copyBytes(RetriableFileCopyCommand.java:255) 
     at org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.copyToFile(RetriableFileCopyCommand.java:184) 
     at org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.doCopy(RetriableFileCopyCommand.java:124) 
     at org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.doExecute(RetriableFileCopyCommand.java:100) 
     at org.apache.hadoop.tools.util.RetriableCommand.execute(RetriableCommand.java:87) 
     ... 11 more 

jedoch genügend Speicherplatz auf dem Gerät aroubnt 4 TB, bitte helfen Sie da ist.

+1

Wie groß ist die Datei? –

+0

Dateigröße beträgt ca. 350 GB. – user3640472

+0

Leider versucht distcp, die Daten, die Sie auf S3 hochladen, zunächst in einem lokalen Verzeichnis bereitzustellen. Dieser lokale Eintrag füllt sich direkt und führt zu dem angezeigten Fehler. [Dieser Tipp] (https://community.cloudera.com/t5/Storage-Random-Access-HDFS/disk-space-issue-on-nodes-for-distcp-data-transfer-from-hdfs-to/mp/26475/highlight/true # M1153) wird Ihnen helfen, ein alternatives Verzeichnis für distcp anzugeben, das verwendet werden soll, um die Daten vor dem Hochladen zu staffeln. –

Antwort

2

So lief ich in das gleiche Problem und hier ist das, was letztlich für mich gearbeitet:

hadoop distcp -D mapreduce.job.maxtaskfailures.per.tracker = 1 ...

Ich habe versucht, eine einige Dinge (mit Hilfe eines Kollegen), aber die Hauptsache, die für mich funktionierte, war - Max Task Fehler pro Tracker auf 1 geändert. Dies ist meist der Schlüssel. Im Grunde hatten die einzelnen Knoten keinen Platz mehr. Auf diese Weise erzwinge ich, dass der Job nicht erneut auf einem Knoten versucht, nachdem er bereits gescheitert ist.

Andere Dinge, die ich versucht habe, aber nicht funktioniert 1. Erhöhen Sie die Anzahl der Mapper. (-m) 2. Die Anzahl der Wiederholungen von 3 auf 12 erhöht. (-D garn.app.mapreduce.client.max-retries = 12)