2015-12-07 9 views
12

मैंने अभी हॉर्टनवर्क्स सैंडबॉक्स वीएम डाउनलोड किया है, इसके अंदर संस्करण 2.7.1 के साथ हैडोप हैं। मैंएचडीएफएस से फ़ाइलों को कैसे हटाएं?

hadoop fs -put /hw1/* /hw1 

... आदेश का उपयोग कर कुछ फाइलें जोड़ रहा हूं। यह बाद मैं जोड़ा फ़ाइलों को हटाने कर रहा हूँ, द्वारा

hadoop fs -rm /hw1/* 

... आदेश, और यह के बाद रीसायकल बिन सफाई, द्वारा

hadoop fs -expunge 

... आदेश। लेकिन रेसील बिन साफ ​​करने के बाद डीएफएस शेष स्थान नहीं बदला गया। यहां तक ​​कि मैं देख सकता हूं कि डेटा वास्तव में/hw1/और recyle bin से हटा दिया गया था। मेरे पास fs.trash.interval parameter = 1 है।

दरअसल मैं /hadoop/hdfs/data/current/BP-2048114545-10.0.2.15-1445949559569/current/finalized/subdir0/subdir2 फ़ोल्डर में भाग में अपने सभी डेटा विभाजित कर सकता हूं, और यह वास्तव में मुझे आश्चर्यचकित करता है, क्योंकि मुझे उम्मीद है कि उन्हें हटाया जाएगा।

तो मेरा सवाल है कि डेटा को कैसे हटाया जाए, जिस तरह से वे वास्तव में हटा दिए जाएंगे? कुछ जोड़ने और हटाने के बाद मैं थका हुआ खाली स्थान मिला।

+0

इसका मतलब यह 'namenode' नष्ट कर दिया मेटाडाटा लेकिन' datanode' डेटा नहीं हटाया था। त्रुटियों या चेतावनियों के लिए अपने 'namenode' और' datanode' लॉग देखें। 'Hdfs dfsadmin -report' चलाने का प्रयास करें और देखें कि क्या आपको कोई उपयोगी जानकारी मिलती है या नहीं। – alvits

+0

बहीखाता करने में कुछ समय लगेगा। –

+0

हैडोप सामग्री को थ्रैश निर्देशिका पर -rm कमांड पर ले जाता है। यदि आप फ़ोल्डरों को स्थायी रूप से हटाना चाहते हैं तो आपको 'hadoop fs -rm -skipTrash/hw1/* ' –

उत्तर

8

आपकी समस्या एचडीएफएस के आधार के अंदर है। एचडीएफएस में (और कई अन्य फाइल सिस्टम में) फाइलों का भौतिक हटाना सबसे तेज़ संचालन नहीं है। चूंकि एचडीएफएस फ़ाइल सिस्टम वितरित किया जाता है और आमतौर पर हटाए गए फ़ाइल के विभिन्न सर्वरों पर कम से कम 3 प्रतिकृतियां दोहराता है, फिर फ़ाइल को हटाने के आपके अनुरोध के बाद प्रत्येक प्रतिकृति (जिसमें विभिन्न हार्ड ड्राइव पर कई ब्लॉक शामिल हो सकते हैं) पृष्ठभूमि में हटा दिया जाना चाहिए।

एक फ़ाइल का कारण बनता है फ़ाइल से संबद्ध ब्लॉक मुक्त होने के का विलोपन:

Hadoop के Official documentation निम्नलिखित हमें बताता है। ध्यान दें कि एक उपयोगकर्ता द्वारा उपयोगकर्ता द्वारा हटाए गए समय और एचडीएफएस में मुक्त स्थान में इसी वृद्धि के समय के बीच एक सराहनीय समय देरी हो सकती है।

+0

पर ट्रैश सुविधा को अक्षम करने के लिए 'fs.trash.interval = 0' सेट कर सकते हैं धन्यवाद, यह वास्तव में समस्या थी, कुछ समय बाद फ़ाइलों को हटा दिए जाने के बाद – serg

1

दुर्गा विश्वनाथ गदिराजू सही समय पर सवाल है, शायद मेरा पीसी धीमा है, और वीएम का भी उपयोग करता है, 10 मिनट की फाइलों को शारीरिक रूप से हटा दिया जाता है, यदि आप प्रश्न में मेरे द्वारा उपयोग की जाने वाली अलौकिकता का उपयोग कर रहे हैं। नोट fs.trash.interval पैरामीटर = 1. सेट करें या डिफ़ॉल्ट फ़ाइलों द्वारा 6 घंटे से अधिक तेज़ नहीं हटाया जाएगा।

+0

आप सभी – maxteneff

6

hadoop fs -rm -R URI

आर विकल्प निर्देशिका और रिकर्सिवली इसके तहत किसी भी सामग्री को हटा देता है की कोशिश करो।

1

मेरे लिए क्या काम करता है:

hadoop fs -rmr -R <your Directory> 
संबंधित मुद्दे