2011-12-19 16 views

उत्तर

13

एकाधिक फ़ाइलों को एक ही ब्लॉक में संग्रहीत नहीं किया जाता है। बीटीडब्ल्यू, एक ही फाइल को कई ब्लॉक में संग्रहीत किया जा सकता है। फ़ाइल और ब्लॉक-आईडी के बीच मैपिंग नाम नोड में जारी है।

Hadoop : The Definitive Guide

एक एकल डिस्क के लिए एक फाइल सिस्टम के विपरीत के अनुसार, HDFS में एक फ़ाइल है कि एक ही ब्लॉक से छोटी है अंतर्निहित भंडारण की एक पूरी ब्लॉक की कीमत पर कब्जा नहीं है।

एचडीएफएस बड़ी फ़ाइलों को संभालने के लिए डिज़ाइन किया गया है। यदि बहुत सी छोटी फाइलें हैं तो नाम नोड लोड हो सकता है क्योंकि यह एचडीएफएस के लिए नाम स्थान संग्रहीत करता है। बहुत कम छोटी फ़ाइलों के साथ समस्या को कम करने के तरीके पर यह article देखें।

+0

क्या आप जानते हैं कि फाइलों के ब्लॉक के मैपिंग कैसे ढूंढें? 'हडूप एफएसके/-फाइल-ब्लॉक्स-लॉक्शंस -क्रैक्स' मैपिंग को ब्लॉक करने के लिए फ़ाइल देता है लेकिन यह नहीं कहता कि असली फाइल सिस्टम पर कौन सी निर्देशिका स्थित है (यानी यह उपनिर्देशिका 9 या उपनिर्देशिका 61 में है)। – Eugen

+0

'dfs.datanode.data.dir' संपत्ति निर्धारित करती है कि स्थानीय फाइल सिस्टम पर एक डीएफएस डेटा नोड को अपने ब्लॉक को स्टोर करना चाहिए। यदि यह निर्देशिकाओं की अल्पविराम-सीमित सूची है, तो डेटा सभी नामित निर्देशिकाओं में संग्रहीत किया जाएगा, आमतौर पर विभिन्न उपकरणों पर। निर्देशिकाएं मौजूद नहीं हैं जिन्हें अनदेखा किया जाता है। –

+0

नहीं, मेरा मतलब था कि भौतिक ब्लॉक संग्रहीत किए जाने पर उन्हें 'dfs.datanode.data.dir' में या उस निर्देशिका के अंतर्गत उपनिर्देशिका में संग्रहीत किया जा सकता है (डेटाानोड द्वारा निर्मित)। क्या यह पता लगाने का कोई तरीका है कि कौन सा ब्लॉक संग्रहीत किया जाता है (जहां शीर्ष-स्तरीय फ़ाइल या कुछ उपनिर्देशिका के अंदर)? – Eugen

3

ठीक है आप एचएआर (हैडोप आर्काइव) फाइल सिस्टम का उपयोग कर ऐसा कर सकते हैं जो एचएआर फाइल सिस्टम द्वारा प्रबंधित विशेष भाग फ़ाइल के एचडीएफएस ब्लॉक में कई छोटी फाइलों को पैक करने का प्रयास करता है।

3

एक ब्लॉक एक फ़ाइल को स्टोर करेगा। यदि आपकी फ़ाइल बड़ी है कि ब्लॉक आकार (64/128/..) तो इसे संबंधित ब्लॉकसाइज के साथ कई ब्लॉक में विभाजित किया जाएगा।

0

HDFS में समझने के लिए मुख्य बिंदु की जरूरत, file is partioned into blocks based on size और नहीं वहाँ स्मृति, जहां फाइलों जमा हो जाती है में कुछ ब्लॉक (यह गलत धारणा है) हो जाएगा कि

मूल रूप से एक से अधिक फ़ाइलों एक खंड में संग्रहीत नहीं हैं (जब तक यह पुरालेख या हर फ़ाइल नहीं है)।

2

हैडोप ब्लॉक आकार हैडोप स्टोरेज अवधारणा है। हर बार जब आप हडोप में एक फाइल स्टोर करते हैं तो यह ब्लॉक आकार में विभाजित होगा और प्रतिकृति कारक और डेटा इलाके के आधार पर इसे क्लस्टर पर वितरित किया जाएगा।

विवरण के लिए:

  • जब आप HDFS पर एक फ़ाइल पुश, यह ब्लॉक में विभाजित किया जाएगा। प्रत्येक ब्लॉक ब्लॉक आकार द्वारा वर्णित अधिकतम आकार वाले एक व्यक्तिगत फ़ाइल की तरह है।

  • प्रत्येक ब्लॉक में हडोप पर ब्लॉक की मेटाडेटा जानकारी संग्रहीत करने के लिए इसके साथ एक .meta फ़ाइल होगी।

  • यदि फ़ाइल बहुत छोटी है, तो पूरी फ़ाइल एक ब्लॉक में होगी और ब्लॉक (एक स्टोरेज फ़ाइल) फ़ाइल और मेटा फ़ाइल के समान आकार होगी।

कुछ आदेश: अपने क्लस्टर पर किसी भी डेटा नोड के लिए

  • कनेक्ट करें [आप पहुँच है या नहीं;)]। फिर उस नोड के लिए स्टोरेज निर्देशिका पर जाएं और आप डेटा नोड पर संग्रहीत वास्तविक ब्लॉक को नीचे देख सकते हैं।

(डिर मेरा क्लस्टर के अनुसार हैं -/data2/DFS/dn /):

ब्लॉक आकार: 1 GB

सीडी/डेटा/DFS/dn -> वर्तमान -> अंतिम रूप दिया -> subDir0 -> (यहाँ सोने है)

ब्लॉक छोटे फ़ाइलों के लिए इस्तेमाल किया भंडारण का केवल KB या हो सकता है जब फ़ाइल आकार मेरे ब्लॉकसाइज + कुछ KB का

012 है

-rw-r - r-- 1 HDFS HDFS 91K सितं, 13 16:19 blk_1073781504

-rw-r - r-- 1 HDFS HDFS 19k सितं, 13 16:21 blk_1073781504_40923.meta

जब फ़ाइल बड़ा तो ब्लॉक आकार है ब्लॉक नीचे

-rw-r के रूप में कुछ की तरह दिखाई देगा - r-- 1 HDFS HDFS 1.0g अगस्त 31 12:03 blk_1073753814

-rw -आर - आर-- 1 एचडीएफएस एचडीएफएस 8.1 एम अगस्त 31 12:04 blk_1073753814_12994.meta

मुझे आशा है कि यह ब्लॉक स्टोरेज सामान की व्याख्या करेगा। आप विस्तार से अपनी फ़ाइलों को ब्लॉक में संग्रहीत किया जाता है जानना चाहते हैं तो चलाने

HDFS ऍफ़एससीके -blocks -locations

मुझे पता है कि अगर मैं यहाँ कुछ भी से चूक गए हैं।

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