HBase
 sql >> डेटाबेस >  >> NoSQL >> HBase

एचडीएफएस ट्यूटोरियल - शुरुआती के लिए एचडीएफएस का पूरा परिचय

जानना चाहते हैं कि कैसे Hadoop एक विश्वसनीय और दोष-सहनशील तरीके से भारी मात्रा में डेटा संग्रहीत करता है?

इस एचडीएफएस ट्यूटोरियल में, हम हडूप के मुख्य घटकों में से एक पर चर्चा करने जा रहे हैं, जो कि हडूप डिस्ट्रिब्यूटेड फाइल सिस्टम (एचडीएफएस) है।

सबसे पहले, हम डिस्ट्रिब्यूटेड फाइलसिस्टम का परिचय देखेंगे। फिर हम Hadoop डिस्ट्रिब्यूटेड फाइलसिस्टम का अध्ययन करेंगे। लेख एचडीएफएस, एचडीएफएस आर्किटेक्चर और एचडीएफएस में ब्लॉक का उपयोग करने का कारण बताता है।

लेख में Hadoop HDFS की कुछ विशेषताओं को भी सूचीबद्ध किया गया है। साथ ही, आपको Hadoop HDFS में दिल की धड़कन वाले संदेशों के बारे में पता चल जाएगा।

यह एचडीएफएस ट्यूटोरियल सबसे विश्वसनीय स्टोरेज हडोप एचडीएफएस के लिए संपूर्ण परिचयात्मक मार्गदर्शिका प्रदान करता है।

आइए सबसे पहले डिस्ट्रिब्यूटेड फाइल सिस्टम के परिचय के साथ शुरुआत करते हैं।

वितरित फ़ाइल सिस्टम

जब डेटासेट एक मशीन की स्टोरेज क्षमता से अधिक हो जाता है, तो डेटासेट को कई अलग-अलग मशीनों में विभाजित करना अनिवार्य हो जाता है। फाइल सिस्टम जो मशीनों के पूरे नेटवर्क में डेटा का प्रबंधन करता है उसे वितरित फाइल सिस्टम कहा जाता है ।

एक वितरित फाइल सिस्टम एक फाइल सिस्टम है जो हमें क्लस्टर में कई मशीनों या नोड्स में डेटा स्टोर करने की अनुमति देता है और एकाधिक उपयोगकर्ताओं को डेटा तक पहुंचने की अनुमति देता है।

चूंकि डीएफएस नेटवर्क पर आधारित है, नेटवर्क प्रोग्रामिंग की सभी जटिलताएं शुरू हो जाती हैं, जिससे एक वितरित फाइल सिस्टम नियमित फाइल सिस्टम की तुलना में अधिक जटिल हो जाता है। DFS में सबसे बड़ी चुनौतियों में से एक डेटा हानि के बिना नोड विफलता को सहन करना है।

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

एचडीएफएस जानने के लिए उत्सुक हैं? तो चलिए अब HDFS ट्यूटोरियल के साथ शुरू करते हैं।

HDFS ट्यूटोरियल - परिचय

Hadoop डिस्ट्रिब्यूटेड फाइलसिस्टम (HDFS) एक जावा आधारित वितरित फाइल सिस्टम है जिसका उपयोग Hadoop में बड़ी मात्रा में संरचित या असंरचित डेटा को संग्रहीत करने के लिए किया जाता है, जिसका आकार GigaBytes से PetaBytes तक, कमोडिटी हार्डवेयर के एक समूह में होता है। यह ग्रह पर अब तक ज्ञात सबसे विश्वसनीय भंडारण है।

एचडीएफएस में, डेटा कई स्थानों पर संग्रहीत किया जाता है, इसलिए यदि कोई मशीन विफल हो जाती है, तो डेटा की प्रतिलिपि वाली अन्य मशीन से डेटा प्राप्त किया जा सकता है। इस प्रकार यह अत्यधिक दोष-सहिष्णु है और हार्डवेयर विफलता के मामले में भी कोई डेटा हानि सुनिश्चित नहीं करता है।

यह MapReduce, YARN और अन्य सामान्य उपयोगिताओं के साथ Hadoop का प्रमुख घटक है।

यह राइट-वन्स-रीड-मैनी . का अनुसरण करता है दर्शन जो डेटा सुसंगतता को सरल बनाता है और उच्च-थ्रूपुट पहुंच को सक्षम करता है।

HDFS क्यों?

आज की आईटी दुनिया में, दुनिया का लगभग 75% डेटा Hadoop HDFS में रहता है। यह निम्नलिखित कारणों से है:

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

तो, इस एचडीएफएस ट्यूटोरियल में आगे बढ़ते हुए, आइए हम एचडीएफएस आर्किटेक्चर पर जाएं।

HDFS आर्किटेक्चर

Hadoop DFS मास्टर-स्लेव का अनुसरण करता है वास्तुकला। एचडीएफएस में दो प्रकार के नोड होते हैं जो मास्टर नोड और स्लेव नोड होते हैं। मास्टर नोड फाइल सिस्टम नेमस्पेस को मैनेज करता है, यानी यह फाइलों के ब्लॉक के बारे में मेटाडेटा को स्टोर करता है।

स्लेव नोड उपयोगकर्ता डेटा को संग्रहीत करते हैं और मास्टर नोड से निर्देश के आधार पर डेटा को संसाधित करने के लिए जिम्मेदार होते हैं।

एचडीएफएस मास्टर

एचडीएफएस में मास्टर हडोप एचडीएफएस का केंद्रबिंदु है। वे हाई-एंड मशीनें हैं जो एचडीएफएस में संग्रहीत सभी फाइलों से संबंधित मेटाडेटा को स्टोर करती हैं। यह फाइल सिस्टम नेमस्पेस का प्रबंधन और रखरखाव करता है और स्लेव नोड्स को निर्देश प्रदान करता है।

NameNode Hadoop HDFS में मास्टर नोड है।

HDFS स्लेव

स्लेव नोड्स वास्तविक व्यावसायिक डेटा को संग्रहीत करने के लिए जिम्मेदार हैं। वे सामान्य कॉन्फ़िगरेशन मशीन (कमोडिटी हार्डवेयर) हैं जो मास्टर नोड के निर्देश पर डेटासेट को स्टोर और प्रोसेस करती हैं।

डेटानोड्स Hadoop HDFS में स्लेव नोड हैं।

HDFS NameNode

NameNode मास्टर नोड है। यह फाइल सिस्टम नेमस्पेस ऑपरेशंस को खोलने / बंद करने, फाइलों का नाम बदलने और निर्देशिकाओं का प्रबंधन करता है। NameNode डेटा ब्लॉक को DataNodes में मैप करता है और फाइल सिस्टम नेमस्पेस में किए गए प्रत्येक परिवर्तन को रिकॉर्ड करता है।

HDFS डेटानोड

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

सोच रहे हैं कि एचडीएफएस में डेटा कैसे स्टोर किया जाता है?

HDFS में ब्लॉक

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

हाई-एंड मशीनों वाले क्लस्टर के लिए, ब्लॉक का आकार बड़ा (जैसे 256 एमबी या अधिक) रखा जा सकता है। 8Gb RAM जैसी कॉन्फ़िगरेशन वाली मशीनों वाले क्लस्टर के लिए, ब्लॉक का आकार छोटा रखा जा सकता है (जैसे 64 Mb)।

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

यदि कोई DataNode विफल हो जाता है, तो ब्लॉक को अन्य DataNode से प्राप्त किया जाता है जिसमें एक ब्लॉक की प्रतिकृति होती है। यह एचडीएफएस दोष सहनशीलता बनाता है।

क्या आपने सोचा है कि NameNode DataNode की विफलता का पता कैसे लगाता है?

डेटानोड विफलता

Hadoop HDFS में सभी DataNodes लगातार हर 3 सेकंड में "मैं जीवित हूं" बताने के लिए NameNode को एक छोटा दिल की धड़कन संदेश (संकेत) भेजता है।

यदि NameNode को किसी विशेष DataNode से 10 मिनट से अधिक समय तक दिल की धड़कन का संदेश नहीं मिलता है, तो यह DataNode को मृत मान लेता है और उस DataNode पर उपलब्ध ब्लॉकों की प्रतिकृति बनाना शुरू कर देता है।

NameNode उस डेटा की एक प्रति वाले DataNode को निर्देश देता है कि वह उस डेटा को प्रतिकृति को संतुलित करने के लिए अन्य DataNodes पर दोहराए। इस तरह, NameNode DataNode की विफलता का पता लगाता है।

जानना चाहते हैं कि NameNode विभिन्न DataNode पर प्रतिकृतियां कैसे रखता है? आइए उपरोक्त प्रश्न का उत्तर पाने के लिए एचडीएफएस में रैक जागरूकता का पता लगाएं।

HDFS में जागरूकता रैक करें

Hadoop HDFS कमोडिटी हार्डवेयर के क्लस्टर में डेटा स्टोर करता है। दोष सहिष्णुता प्रदान करने के लिए, ब्लॉक की प्रतिकृतियां बनाई जाती हैं और विभिन्न डेटा नोड्स पर संग्रहीत की जाती हैं।

NameNode, DataNode या संपूर्ण रैक के नीचे जाने पर भी कोई डेटा हानि सुनिश्चित करने के लिए रैक अवेयरनेस एल्गोरिथम का पालन करके कई DataNodes पर ब्लॉक की प्रतिकृतियां रखता है। NameNode पहली प्रतिकृति को निकटतम DataNode पर रखता है।

यह दूसरी प्रतिकृति को एक ही रैक पर अलग-अलग DataNode पर और तीसरी प्रतिकृति को अलग-अलग रैक पर अलग-अलग DataNode पर संग्रहीत करता है।

यदि प्रतिकृति कारक 2 है, तो यह दूसरी प्रतिकृति को एक अलग डेटानोड पर एक अलग रैक पर रखता है ताकि यदि एक पूर्ण रैक नीचे चला जाता है, तो सिस्टम भी अत्यधिक उपलब्ध होगा।

रैक-जागरूक प्रतिकृति प्लेसमेंट नीति का मुख्य उद्देश्य दोष सहिष्णुता, डेटा विश्वसनीयता, उपलब्धता में सुधार करना है।

एचडीएफएस ट्यूटोरियल में आगे, हम हडूप एचडीएफएस की कुछ प्रमुख विशेषताओं पर चर्चा करते हैं।

Hadoop HDFS की महत्वपूर्ण विशेषताएं

<एच4>1. उच्च उपलब्धता

यह एक अत्यधिक उपलब्ध फाइल सिस्टम है। इस फाइल सिस्टम में, डेटा को Hadoop क्लस्टर में नोड्स के बीच HDFS क्लस्टर में मौजूद अन्य दासों पर ब्लॉक की प्रतिकृति बनाकर दोहराया जाता है। इसलिए, जब भी कोई उपयोगकर्ता इस डेटा को एक्सेस करना चाहता है, तो वे अपने डेटा को स्लेव्स से एक्सेस कर सकते हैं, जिसमें इसके ब्लॉक होते हैं।

<एच4>2. दोष सहिष्णुता

Hadoop HDFS में दोष सहिष्णुता प्रतिकूल परिस्थितियों में एक प्रणाली की कार्य शक्ति है। यह अत्यधिक दोष-सहिष्णु है। Hadoop फ्रेमवर्क डेटा को ब्लॉक में विभाजित करता है।

उसके बाद, यह क्लस्टर में विभिन्न मशीनों पर ब्लॉक की कई प्रतियां बनाता है। इसलिए, जब क्लस्टर में कोई भी मशीन डाउन हो जाती है, तो क्लाइंट आसानी से अपने डेटा को दूसरी मशीन से एक्सेस कर सकता है, जिसमें डेटा ब्लॉक की समान कॉपी होती है।

<एच4>3. उच्च विश्वसनीयता

एचडीएफएस विश्वसनीय डेटा भंडारण प्रदान करता है। यह डेटा को 100s पेटाबाइट्स की रेंज में स्टोर कर सकता है। HDFS डेटा को क्लस्टर पर मज़बूती से स्टोर करता है। यह डेटा को ब्लॉक में विभाजित करता है। फिर, Hadoop ढांचा इन ब्लॉकों को क्लस्टर में मौजूद नोड्स पर संग्रहीत करता है।

HDFS क्लस्टर में मौजूद प्रत्येक ब्लॉक की प्रतिकृति बनाकर डेटा को मज़बूती से संग्रहीत करता है। इसलिए दोष सहिष्णुता सुविधा प्रदान करता है।

<एच4>4. प्रतिकृति

डेटा प्रतिकृति एचडीएफएस की एक अनूठी विशेषता है। प्रतिकृति एक प्रतिकूल स्थिति में डेटा हानि की समस्या को हल करती है जैसे हार्डवेयर विफलता, नोड्स का क्रैश होना आदि। एचडीएफएस नियमित अंतराल पर प्रतिकृति की प्रक्रिया को बनाए रखता है।

यह क्लस्टर में मौजूद विभिन्न मशीनों पर उपयोगकर्ता डेटा की प्रतिकृतियां भी बनाता रहता है। इसलिए, जब कोई नोड नीचे चला जाता है, तो उपयोगकर्ता अन्य मशीनों से डेटा तक पहुंच सकता है। इस प्रकार, उपयोगकर्ता डेटा के खोने की कोई संभावना नहीं है।

5. मापनीयता

यह क्लस्टर में कई नोड्स पर डेटा स्टोर करता है। इसलिए, जब भी आवश्यकताएं बढ़ती हैं, आप क्लस्टर को स्केल कर सकते हैं। एचडीएफएस में दो मापनीयता तंत्र उपलब्ध हैं:लंबवत और क्षैतिज मापनीयता।

<एच4>6. वितरित संग्रहण

HDFS सुविधाएँ वितरित भंडारण और प्रतिकृति के माध्यम से प्राप्त की जाती हैं। यह डेटा को नोड्स में वितरित तरीके से संग्रहीत करता है। Hadoop में, डेटा को ब्लॉक में विभाजित किया जाता है और क्लस्टर में मौजूद नोड्स पर संग्रहीत किया जाता है।

उसके बाद, यह प्रत्येक ब्लॉक की प्रतिकृति बनाता है और अन्य नोड्स पर स्टोर करता है। जब क्लस्टर में एकल मशीन दुर्घटनाग्रस्त हो जाती है, तो हम अपने डेटा को अन्य नोड्स से आसानी से एक्सेस कर सकते हैं जिसमें इसकी प्रतिकृति होती है।

एचडीएफएस ट्यूटोरियल में आगे, हम कुछ उपयोगी एचडीएफएस ऑपरेशंस पर चर्चा करते हैं।

एचडीएफएस ऑपरेशन

Hadoop HDFS में Linux फ़ाइल सिस्टम के साथ कई समानताएँ हैं। हम लगभग सभी ऑपरेशन कर सकते हैं जो हम स्थानीय फाइल सिस्टम के साथ कर सकते हैं जैसे निर्देशिका बनाना, फ़ाइल की प्रतिलिपि बनाना, अनुमतियां बदलना आदि।

यह उपयोगकर्ताओं, समूहों और अन्य लोगों को पढ़ने, लिखने और निष्पादित करने जैसे विभिन्न एक्सेस अधिकार भी प्रदान करता है।

<एच4>1. ऑपरेशन पढ़ें

जब HDFS क्लाइंट HDFS की किसी भी फाइल को पढ़ना चाहता है, तो क्लाइंट पहले NameNode के साथ इंटरैक्ट करता है। NameNode एकमात्र स्थान है जो मेटाडेटा को संग्रहीत करता है। NameNode उन दासों के पते को निर्दिष्ट करता है जहां डेटा संग्रहीत किया जाता है। फिर, क्लाइंट निर्दिष्ट डेटा नोड्स के साथ इंटरैक्ट करता है और वहां से डेटा पढ़ता है।

एचडीएफएस क्लाइंट वितरित फाइल सिस्टम एपीआई के साथ इंटरैक्ट करता है। फिर, यह एक ब्लॉक स्थान भेजने के लिए NameNode को एक अनुरोध भेजता है। NameNode पहले जाँचता है कि क्लाइंट के पास डेटा तक पहुँचने के लिए पर्याप्त विशेषाधिकार हैं या नहीं? उसके बाद, NameNode उस पते को साझा करेगा जिस पर DataNode में डेटा संग्रहीत है।

NameNode क्लाइंट को एक टोकन प्रदान करता है, जो सुरक्षा उद्देश्यों के लिए फ़ाइल को पढ़ने के लिए DataNode को दिखाता है। जब कोई क्लाइंट फ़ाइल को पढ़ने के लिए DataNode पर जाता है, तो टोकन की जाँच करने के बाद, DataNode क्लाइंट को उस विशेष ब्लॉक को पढ़ने की अनुमति देता है।

उसके बाद क्लाइंट इनपुट स्ट्रीम खोलता है और निर्दिष्ट डेटा नोड्स से डेटा पढ़ना शुरू करता है। इस प्रकार, इस तरीके से, क्लाइंट सीधे DataNode से डेटा पढ़ता है।

<एच4>2. लेखन कार्य

फ़ाइल लिखने के लिए, क्लाइंट पहले NameNode के साथ इंटरैक्ट करता है। HDFS NameNode DataNode का पता प्रदान करता है जिस पर क्लाइंट को डेटा लिखना होता है।

जब क्लाइंट ब्लॉक लिखना समाप्त कर लेता है, तो DataNode ब्लॉक को दूसरे DataNode में कॉपी करना शुरू कर देता है। फिर यह ब्लॉक को तीसरे डेटानोड में कॉपी करता है। एक बार जब यह आवश्यक प्रतिकृति बनाता है, तो यह क्लाइंट को अंतिम पावती भेजता है। प्रमाणीकरण रीड ऑपरेशन के समान है।

क्लाइंट हमारे प्रतिकृति कारक की परवाह किए बिना डेटा की केवल 1 प्रति भेजता है, जबकि DataNodes ब्लॉक को दोहराता है। फ़ाइल लिखना महंगा नहीं है क्योंकि यह कई डेटा नोड्स पर कई ब्लॉक समानांतर रूप से कई ब्लॉक लिखता है।

सारांश

HDFS ट्यूटोरियल निष्कर्ष में, हम कह सकते हैं कि Hadoop HDFS कमोडिटी हार्डवेयर के क्लस्टर में वितरित तरीके से डेटा संग्रहीत करता है।

Hadoop HDFS आज तक ज्ञात एक अत्यधिक विश्वसनीय, दोष-सहिष्णु और अत्यधिक उपलब्ध भंडारण प्रणाली है। यह मास्टर-स्लेव आर्किटेक्चर का अनुसरण करता है जहां NameNode मास्टर नोड है, और DataNodes स्लेव नोड हैं।

साथ ही, एचडीएफएस क्लाइंट की इनपुट फाइल को 128 एमबी आकार के ब्लॉक में विभाजित करता है, जिसे हम अपनी आवश्यकता के अनुसार कॉन्फ़िगर कर सकते हैं। यह दोष सहिष्णुता प्रदान करने के लिए ब्लॉक की प्रतिकृतियां भी संग्रहीत करता है।

मशीन विफलता या हार्डवेयर विफलता के दौरान कोई डेटा खो नहीं जाता है यह सुनिश्चित करने के लिए NameNode DataNode पर प्रतिकृतियां रखने के लिए रैक जागरूकता नीति का पालन करता है। इसके अलावा, DataNodes यह सुनिश्चित करने के लिए NameNode को एक दिल की धड़कन का संदेश भेजता है कि वे जीवित हैं।

फ़ाइल पढ़ने या लिखने के दौरान, क्लाइंट पहले NameNode के साथ इंटरैक्ट करता है।

Hadoop HDFS बड़े डेटा को संग्रहीत करने के लिए स्केलेबल, विश्वसनीय, वितरित, दोष-सहनशील और अत्यधिक उपलब्ध स्टोरेज सिस्टम है।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. HBase में बैकअप और डिजास्टर रिकवरी के लिए दृष्टिकोण

  2. Hadoop उच्च उपलब्धता सुविधा को समझना

  3. HBase और Hive - एक साथ बेहतर

  4. उत्पादन के लिए एमएल मॉडल कैसे तैनात करें

  5. क्लाउडेरा ऑपरेशनल डेटाबेस प्रतिकृति संक्षेप में