Database
 sql >> डेटाबेस >  >> RDS >> Database

एचडीएफएस का परिचय | एचडीएफएस क्या है और यह कैसे काम करता है?

स्टोरेज में फाइलों को स्टोर करने की मुख्य तकनीक फाइल सिस्टम में निहित है जिसका ऑपरेटिंग वातावरण उपयोग करता है। सामान्य फाइल सिस्टम के विपरीत, Hadoop एक अलग फाइल सिस्टम का उपयोग करता है जो एक वितरित नेटवर्क पर बड़े डेटासेट से संबंधित है। इसे Hadoop डिस्ट्रिब्यूटेड फाइल सिस्टम (HDFS) . कहा जाता है . यह लेख शुरू करने के लिए संबंधित पृष्ठभूमि की जानकारी के साथ विचार का परिचय देता है।

फाइल सिस्टम क्या है?

एक फाइल सिस्टम आमतौर पर एक विधि और डेटा संरचना है जिसका उपयोग ऑपरेटिंग सिस्टम डिस्क या विभाजन पर फ़ाइलों को प्रबंधित करने के लिए करता है। एक चुंबकीय डिस्क के दृष्टिकोण से, प्रत्येक डेटा ट्रैक के सेक्टरों में संग्रहीत एक चार्ज है। सर्पिल पंक्तियों के रूप में पटरियों के बारे में सोचें और सर्पिल पटरियों में छोटी कोशिकाओं के रूप में सेक्टरों के बारे में सोचें। अब, यदि हम डिस्क से कुछ डेटा का पता लगाने का अनुरोध करते हैं, तो यह सर्पिल अनुक्रम में अपने सिर को कुछ क्षेत्रों में फिर से निर्देशित कर सकता है। यह कच्चा डेटा तब तक सार्थक नहीं है जब तक कि ऑपरेटिंग सिस्टम तस्वीर में न आ जाए; यह एक फ़ाइल के रूप में पहचाने जाने वाले क्षेत्रों के संग्रह से जानकारी को सीमित करने का प्रभारी है। एक ऑपरेटिंग सिस्टम सूचना को एक बहीखाता पद्धति डेटा संरचना में व्यवस्थित करता है जिसे फाइल सिस्टम कहा जाता है। यह संरचना बहीखाता पद्धति को परिभाषित करती है। लेकिन, OSes इस संरचना का प्रबंधन कैसे करते हैं, इसके बारे में कुछ तकनीकी अंतर है। उदाहरण के लिए, विंडोज FAT32, NTFS मॉडल का उपयोग करता है, Linux EXT2, EXT3 और आगे का उपयोग करता है। लेकिन, मूल विचार यह है कि वे सभी डेटा को किसी निश्चित संरचना के अनुसार व्यवस्थित करते हैं।

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

एक वितरित सिस्टम में फ़ाइलें

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

एचडीएफएस अवलोकन

सामान्य फाइल सिस्टम को एक मशीन या एकल ऑपरेटिंग वातावरण पर काम करने के लिए डिज़ाइन किया गया था। Hadoop में डेटासेट को एक भौतिक मशीन प्रदान करने से परे भंडारण क्षमता की आवश्यकता होती है। इसलिए, कई मशीनों में डेटा को विभाजित करना अनिवार्य हो जाता है। वितरित नेटवर्क में फ़ाइलों को प्रबंधित करने के लिए इसके लिए एक विशेष प्रक्रिया की आवश्यकता होती है। एचडीएफएस फाइल सिस्टम है जो विशेष रूप से इस मुद्दे को संबोधित करता है। यह फाइल सिस्टम नियमित फाइल सिस्टम की तुलना में अधिक जटिल है क्योंकि इसे नेटवर्क प्रोग्रामिंग, विखंडन, दोष सहिष्णु, स्थानीय फाइल सिस्टम के साथ संगतता आदि से निपटना पड़ता है। यह Hadoop को कई सर्वरों पर बिग डेटा एप्लिकेशन चलाने का अधिकार देता है। यह कम लागत वाले हार्डवेयर में उच्च डेटा थ्रूपुट के साथ अत्यधिक दोष सहिष्णु होने की विशेषता है। एचडीएफएस फाइल सिस्टम का उद्देश्य इस प्रकार है:

  • बहुत बड़ी फ़ाइलों से निपटने के लिए
  • फ़ाइल सिस्टम में स्ट्रीमिंग डेटा एक्सेस को एक बार लिखने और कई बार पढ़ने के पैटर्न का लाभ उठाना चाहिए।
  • सस्ती कमोडिटी हार्डवेयर पर चलाएं
  • इसे कम विलंबता डेटा एक्सेस का लाभ उठाना चाहिए।
  • बड़ी संख्या में फ़ाइलों का समर्थन करें
  • मनमाने ढंग से फ़ाइल संशोधन के साथ एकाधिक फ़ाइल लेखकों का समर्थन करें

एचडीएफएस मूल बातें

डिस्क पर पढ़े और लिखे जाने वाले डेटा की एक छोटी मात्रा में ब्लॉक आकार . नामक कुछ होता है . आमतौर पर, इस ब्लॉक का आकार 512 बाइट्स होता है और फाइल सिस्टम ब्लॉक कुछ किलोबाइट होते हैं। एचडीएफएस एक ही सिद्धांत पर काम करता है, लेकिन ब्लॉक का आकार बहुत बड़ा है। बड़ा ब्लॉक आकार तलाश को कम करके और इसलिए लागत को कम करके खोज का लाभ उठाता है। ये ब्लॉक क्लस्टर . नामक किसी चीज़ में वितरित किए जाते हैं , जो नेटवर्क में विभिन्न सर्वरों पर ब्लॉक और ब्लॉक की प्रतियों के अलावा और कुछ नहीं हैं। अलग-अलग फ़ाइलें क्लस्टर में सर्वरों पर दोहराई जाती हैं।

क्लस्टर में मास्टर-स्लेव पैटर्न में दो प्रकार के नोड काम कर रहे हैं। मास्टर नोड को नामनोड्स . कहा जाता है और वर्कर नोड को डेटानोड्स . कहा जाता है . यह इन नोड्स के माध्यम से है एचडीएफएस फाइल (और निर्देशिका) सिस्टम ट्री और मेटाडेटा को बनाए रखता है। वास्तव में, एक फ़ाइल को ब्लॉक में विभाजित किया जाता है और डेटानोड्स . के सबसेट में संग्रहीत किया जाता है क्लस्टर में फैलाने के लिए। डेटानोड फ़ाइल सिस्टम में पढ़ने, लिखने, ब्लॉक बनाने, हटाने और प्रतिकृति अनुरोधों के लिए ज़िम्मेदार है।

नामनोड्स दूसरी ओर, सर्वर हैं जो फाइल सिस्टम तक पहुंच की निगरानी करते हैं और एचडीएफएस में डेटा फाइलों को बनाए रखते हैं। वे ब्लॉक को डेटानोड में मैप करते हैं और फ़ाइल/निर्देशिका को खोलने, बंद करने, और नाम बदलने के अनुरोधों को संभालते हैं।

डेटानोड्स फाइल सिस्टम का मुख्य भाग हैं और क्लाइंट से ब्लॉक अनुरोधों के भंडारण और पुनर्प्राप्ति का काम करते हैं। नामनोड रखरखाव है जिसके लिए डेटानोड्स रिपोर्ट good। इसका मतलब यह है कि अगर नामेनोड को मिटा दिया जाता है, तो फाइलों के बारे में जानकारी खो जाएगी। इसलिए, Hadoop सुनिश्चित करता है कि नाम नोड किसी भी प्रकार की विफलता का सामना करने के लिए पर्याप्त लचीला है। यह सुनिश्चित करने के लिए एक तकनीक है कि इसे द्वितीयक नामनोड . में बैक अप लिया जाए समय-समय पर नेमस्पेस इमेज को एडिट लॉग के साथ मर्ज करके। द्वितीयक नामनोड आमतौर पर प्राथमिक namenode . के रूप में कार्यभार संभालने के लिए एक अलग मशीन पर रहता है बड़ी विफलता के मामले में।

एचडीएफएस फाइल सिस्टम के साथ इंटरैक्ट करने के कई तरीके हैं, लेकिन कमांड लाइन इंटरफेस शायद सबसे सरल और सबसे आम है। Hadoop को एक मशीन पर स्थापित किया जा सकता है और इसका प्रत्यक्ष स्वाद प्राप्त करने के लिए चलाया जा सकता है। हम इसे बाद के लेखों में शामिल करेंगे, इसलिए हमारे साथ बने रहें।

फाइलसिस्टम संचालन

एचडीएफएस फाइल सिस्टम ऑपरेशन सामान्य फाइल सिस्टम ऑपरेशंस के समान ही हैं। यहाँ कुछ सूचियाँ केवल एक विचार देने के लिए दी गई हैं।

फाइलों को स्थानीय फाइल सिस्टम से एचडीएफएस में कॉपी करता है:

% hadoop fs -copyFromLocal docs/sales.txt hdfs://localhost/
   user/mano/sales.txt

एचडीएफएस में एक निर्देशिका बनाता है:

% hadoop fs -mkdir students

एचडीएफएस में वर्तमान कार्यशील निर्देशिका में फाइलों और निर्देशिकाओं को सूचीबद्ध करता है:

% hadoop fs -ls .

निष्कर्ष

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

संदर्भ

एचडीएफएस आर्किटेक्चर दस्तावेज़ीकरण


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. VMware पर CPU प्रदर्शन का समस्या निवारण

  2. हेकाटन विद ए ट्विस्ट:इन-मेमोरी टीवीपी - भाग 3

  3. स्केलग्रिड ने प्रबंधित डेटाबेस होस्टिंग के लिए Google क्लाउड प्लेटफ़ॉर्म (GCP) समर्थन लॉन्च किया

  4. SQL क्या है और इसे कैसे शुरू करें?

  5. क्विकबुक ओडीबीसी चालक