
Unit-3 Big data one shot | aktu | btech | easy explanation #oneshot #bigdata #aktuexam #unit3 #btech
Coreconcepts:engineering
Overview
यह वीडियो बिग डेटा के यूनिट 3 को कवर करता है, जिसमें मुख्य रूप से HDFS (Hadoop Distributed File System) और Hadoop एनवायरमेंट पर ध्यान केंद्रित किया गया है। इसमें HDFS की संरचना, डिज़ाइन, लाभ, चुनौतियाँ, फ़ाइल और ब्लॉक साइज़, डेटा रेप्लिकेशन, और फ़ाइलों को पढ़ने, लिखने और स्टोर करने की प्रक्रिया को समझाया गया है। इसके अतिरिक्त, वीडियो Hadoop के विभिन्न इंटरफ़ेस (Java, कमांड लाइन, File System), डेटा इंजेक्शन (Flume, Sqoop), Hadoop आर्काइव्स, इनपुट/आउटपुट (Compression, Serialization, Avro), क्लस्टर स्पेसिफिकेशन, सेटअप, सुरक्षा, निगरानी, रखरखाव और बेंचमार्किंग पर भी विस्तार से चर्चा करता है।
Save this permanently with flashcards, quizzes, and AI chat
Chapters
- HDFS (Hadoop Distributed File System) बड़े डेटा सेट को स्टोर करने के लिए एक डिस्ट्रीब्यूटेड, स्केलेबल और पोर्टेबल फाइल सिस्टम है, जो जावा में लिखा गया है।
- इसके दो मुख्य कॉम्पोनेंट्स हैं: एक मास्टर नोड (NameNode) और कई स्लेव नोड्स (DataNodes)।
- NameNode मेटाडेटा को मैनेज करता है और पूरे सिस्टम का प्रबंधन करता है, जबकि DataNodes वास्तविक डेटा को स्टोर और प्रोसेस करते हैं।
- HDFS मास्टर-स्लेव आर्किटेक्चर पर काम करता है, जहाँ फ़ाइलों को छोटे ब्लॉक्स (आमतौर पर 128MB) में विभाजित किया जाता है और विभिन्न DataNodes पर स्टोर किया जाता है।
- HDFS के लाभों में बड़ी मात्रा में डेटा स्टोर करने की क्षमता, एक सरल मॉडल, स्केलेबिलिटी, और सूचना तक तेज़ पहुँच शामिल है।
- डेटा को केवल एक बार लिखा जा सकता है लेकिन कई बार पढ़ा जा सकता है, और इसमें डेटा रिकवरी तकनीकें तेज़ी से लागू होती हैं।
- चुनौतियों में सिंगल NameNode का फेलियर (जो पूरे सिस्टम को अनुपलब्ध बना सकता है), छोटे फ़ाइलों को स्टोर करने में NameNode पर लोड बढ़ना, और फ़ाइलों को आसानी से संशोधित या अपडेट न कर पाना शामिल है।
- रेप्लिकेशन (आमतौर पर तीन कॉपी) के कारण अधिक स्टोरेज स्पेस की आवश्यकता होती है और सुरक्षा सुविधाएँ सीमित हो सकती हैं।
- HDFS में, बड़ी फ़ाइलों को स्टोरेज से पहले छोटे ब्लॉक्स में विभाजित किया जाता है, जिनका डिफ़ॉल्ट आकार 128MB होता है।
- ब्लॉक एब्स्ट्रैक्शन का अर्थ है एक बड़ी फ़ाइल को ब्लॉक्स में तोड़ना और उन ब्लॉक्स को विभिन्न मशीनों पर स्टोर करना, जिससे फ़ाइल को एक सिंगल यूनिट के रूप में स्टोर करने की आवश्यकता समाप्त हो जाती है।
- डेटा रेप्लिकेशन में प्रत्येक डेटा ब्लॉक की कई कॉपीज़ (डिफ़ॉल्ट रूप से तीन) बनाई जाती हैं ताकि फॉल्ट टॉलरेंस और डेटा विश्वसनीयता सुनिश्चित की जा सके।
- रेप्लिकेशन फैक्टर यह निर्धारित करता है कि किसी ब्लॉक की कितनी कॉपीज़ बनाई जाएंगी।
- फ़ाइल पढ़ने की प्रक्रिया में, क्लाइंट फ़ाइल खोलता है, NameNode से ब्लॉक लोकेशन प्राप्त करता है, DataNodes से डेटा स्ट्रीम करता है, और ब्लॉक के अंत में कनेक्शन बंद कर देता है।
- फ़ाइल लिखने की प्रक्रिया में, क्लाइंट एक नई फ़ाइल बनाने का अनुरोध करता है, NameNode मेटाडेटा बनाता है, क्लाइंट डेटा पैकेट DataNodes को एक पाइपलाइन के माध्यम से भेजता है, और सभी ब्लॉक लिखे जाने के बाद फ़ाइल बंद हो जाती है।
- फ़ाइलों को HDFS में अपलोड करने पर, वे ब्लॉक्स में विभाजित हो जाती हैं, क्लस्टर पर स्टोर हो जाती हैं, और सुरक्षा के लिए रेप्लिकेट की जाती हैं; NameNode मेटाडेटा स्टोर करता है।
- Java इंटरफ़ेस डेवलपर्स को Java का उपयोग करके HDFS के साथ प्रोग्रामेटिक रूप से इंटरैक्ट करने की अनुमति देता है, जिसमें FileSystem, Path, FSDataInputStream, और FSDataOutputStream जैसी क्लासेस शामिल हैं।
- कमांड लाइन इंटरफ़ेस (CLI) उपयोगकर्ताओं को टर्मिनल कमांड का उपयोग करके HDFS को एक्सेस करने की सुविधा देता है, जो Linux कमांड्स के समान होती हैं (जैसे ls, put, get, rm)।
- Hadoop File System (HFS) इंटरफ़ेस एक सामान्य एब्स्ट्रैक्शन लेयर प्रदान करता है जो प्रोग्राम्स को HDFS, लोकल फाइल सिस्टम और अन्य स्टोरेज सिस्टम के साथ काम करने की अनुमति देता है, जिससे पोर्टेबिलिटी और लचीलापन बढ़ता है।
- डेटा फ्लो MapReduce के संदर्भ में होता है, जिसमें इनपुट रीडर डेटा को पढ़ता है, मैप फ़ंक्शन उसे प्रोसेस करता है, पार्टीशन फ़ंक्शन उसे विभाजित करता है, शफलिंग और सॉर्टिंग डेटा को व्यवस्थित करती है, और रिड्यूस फ़ंक्शन अंतिम परिणाम उत्पन्न करता है।
- डेटा इंजेक्शन विभिन्न स्रोतों से Hadoop में डेटा लाने की प्रक्रिया है।
- Flume का उपयोग कंटीन्यूअस स्ट्रीमिंग डेटा (जैसे लॉग्स, इवेंट्स) को कलेक्ट करने के लिए किया जाता है, जिसमें सोर्स, चैनल और सिंक शामिल होते हैं।
- Sqoop का उपयोग डेटाबेस (जैसे MySQL, Oracle) और Hadoop के बीच डेटा ट्रांसफर करने के लिए किया जाता है, जो स्ट्रक्चर्ड डेटा के लिए उपयुक्त है।
- Hadoop आर्काइव्स (HAR) कई छोटी फ़ाइलों को एक कॉम्पैक्ट HDFS ब्लॉक में पैक करने की सुविधा है, जो NameNode पर लोड कम करता है और मेमोरी की बर्बादी से बचाता है।
- HAR फ़ाइलें केवल रीड-ओनली होती हैं और उन्हें संशोधित नहीं किया जा सकता है।
- Hadoop इनपुट/आउटपुट में डेटा के साइज़ को कम करने के लिए कंप्रेशन (इनपुट और आउटपुट दोनों) शामिल है।
- सीरियलाइजेशन डेटा को बाइट स्ट्रीम में परिवर्तित करता है ताकि इसे HDFS में स्टोर या नेटवर्क पर ट्रांसफर किया जा सके, जबकि Avro डेटा और उसके स्कीमा (स्ट्रक्चर) दोनों को कुशलतापूर्वक स्टोर करने का एक तरीका है।
- क्लस्टर स्पेसिफिकेशन Hadoop क्लस्टर में मशीनों (Nodes) के कॉन्फ़िगरेशन का विवरण है, जिसमें मास्टर नोड, वर्कर नोड्स और नेटवर्क कॉन्फ़िगरेशन शामिल हैं।
- Hadoop क्लस्टर सेटअप में आवश्यक सॉफ्टवेयर इंस्टॉल करना, नोड्स के बीच नेटवर्क कनेक्शन स्थापित करना, SSH कम्युनिकेशन सक्षम करना, कॉन्फ़िगरेशन फ़ाइलों को एडिट करना, और सेवाओं को शुरू करना शामिल है।
- Hadoop सुरक्षा अनधिकृत पहुँच से डेटा और संसाधनों की सुरक्षा करती है, जिसमें ऑथेंटिकेशन, ऑथराइजेशन, डेटा एन्क्रिप्शन और HDFS अनुमतियाँ शामिल हैं।
- निगरानी (Monitoring) क्लस्टर के स्वास्थ्य और प्रदर्शन की लगातार जाँच करती है, जबकि रखरखाव (Maintenance) सिस्टम को बेहतर बनाने और ठीक करने के लिए कार्रवाई करता है।
Key takeaways
- HDFS बड़े डेटा को स्टोर करने के लिए एक मास्टर-स्लेव आर्किटेक्चर का उपयोग करता है, जहाँ NameNode मेटाडेटा को मैनेज करता है और DataNodes डेटा को स्टोर करते हैं।
- फ़ाइलों को बड़े ब्लॉक्स में विभाजित किया जाता है और डेटा की विश्वसनीयता के लिए रेप्लिकेट किया जाता है, जो फॉल्ट टॉलरेंस प्रदान करता है।
- HDFS में फ़ाइलों को पढ़ना, लिखना और स्टोर करना एक संरचित प्रक्रिया का पालन करता है जिसमें NameNode और DataNodes के बीच इंटरैक्शन शामिल होता है।
- Java इंटरफ़ेस, कमांड लाइन इंटरफ़ेस और Hadoop File System इंटरफ़ेस Hadoop के साथ इंटरैक्ट करने के विभिन्न तरीके प्रदान करते हैं।
- Flume स्ट्रीमिंग डेटा के लिए और Sqoop डेटाबेस से डेटा ट्रांसफर के लिए डेटा इंजेक्शन के महत्वपूर्ण उपकरण हैं।
- Hadoop आर्काइव्स छोटी फ़ाइलों को कुशलतापूर्वक प्रबंधित करने में मदद करते हैं, जबकि कंप्रेशन, सीरियलाइजेशन और Avro डेटा प्रोसेसिंग को अनुकूलित करते हैं।
- एक सुरक्षित, अच्छी तरह से कॉन्फ़िगर किया गया और लगातार मॉनिटर किया जाने वाला Hadoop क्लस्टर बड़े डेटा को प्रभावी ढंग से प्रबंधित करने के लिए महत्वपूर्ण है।
Key terms
Test your understanding
- HDFS में NameNode और DataNode की क्या भूमिकाएँ हैं और वे एक साथ कैसे काम करते हैं?
- HDFS में डेटा रेप्लिकेशन क्यों महत्वपूर्ण है और यह फॉल्ट टॉलरेंस कैसे सुनिश्चित करता है?
- Hadoop में फ़ाइल पढ़ने और लिखने की प्रक्रिया के मुख्य चरणों का वर्णन करें।
- Flume और Sqoop का उपयोग करके डेटा इंजेक्शन के बीच मुख्य अंतर क्या हैं?
- Hadoop क्लस्टर की सुरक्षा सुनिश्चित करने के लिए कौन से तंत्र (जैसे ऑथेंटिकेशन, ऑथराइजेशन) उपयोग किए जाते हैं?