2015-08-20 13 views
5

मैं S3 बाल्टी के लिए HDFS स्नैपशॉट को कॉपी कर रहा हूँ, त्रुटि नीचे हो रही "डिवाइस पर कोई स्थान छोड़ दिया" : $ SECRETKEY @ $ बाल्टी/$ SNAPSHOTNAMEdistcp त्रुटि के साथ विफल

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 

हालांकि पर डिवाइस aroubnt 4 टीबी पर्याप्त जगह नहीं है, कृपया मदद करते हैं।

+1

फ़ाइल का आकार क्या है? –

+0

फ़ाइल का आकार लगभग 350 जीबी है। – user3640472

+0

दुर्भाग्य से, distcp उस डेटा को चरणबद्ध करने का प्रयास करता है जिसे आप पहले स्थानीय निर्देशिका पर S3 पर अपलोड कर रहे हैं। वह स्थानीय सीधे भर रहा है, जो आप देख रहे त्रुटि को उत्पन्न कर रहे हैं। [यह टिप] (https://community.cloudera.com/t5/Storage-Random-Access-HDFS/disk-space-issue-on-nodes-for-distcp-data-transfer-from-hdfs-to/mp/26475/हाइलाइट/सच्चा # एम 1153) अपलोड करने से पहले डेटा को चरणबद्ध करने के लिए उपयोग करने के लिए distcp के लिए वैकल्पिक निर्देशिका निर्दिष्ट करने में आपकी सहायता करेगा। –

उत्तर

2

तो मैं इस एक ही समस्या में पड़ गए और यहाँ क्या अंततः मेरे लिए काम किया है:

Hadoop distcp डी mapreduce.job.maxtaskfailures.per.tracker = 1 ...

मैंने कोशिश की एक कुछ चीजें (सहकर्मियों की मदद से) लेकिन मेरे लिए काम करने वाली मुख्य बात यह थी - प्रति ट्रैकर अधिकतम कार्य विफलताओं को 1 तक बदल दिया गया। यह ज्यादातर कुंजी है। मूल रूप से व्यक्तिगत नोड्स अंतरिक्ष से बाहर चल रहे थे। तो ऐसा करने से मैं नौकरी को मजबूर कर रहा हूं कि नोड पर फिर से प्रयास न करें जब यह पहले से ही विफल हो जाए।

अन्य चीजें जो मैंने कोशिश की लेकिन काम नहीं किया 1. मैपर की संख्या बढ़ाएं। (-एम) 2. 3 से 12. (-D yarn.app.mapreduce.client.max-retries = 12)

संबंधित मुद्दे