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

Hadoop में HDFS NameNode उच्च उपलब्धता

हमारे पिछले ब्लॉग में, हम अध्ययन किया है Hadoop परिचय और Hadoop की विशेषताएं , अब इस ब्लॉग में, हम विस्तार से HDFS NameNode उच्च उपलब्धता सुविधा कवर करने के लिए जा रहे हैं।

सबसे पहले, हम अगले कोरम जर्नल नोड्स और साझा भंडारण का उपयोग कर Hadoop उच्च उपलब्धता वास्तुकला के कार्यान्वयन के साथ, HDFS NemNode उच्च उपलब्धता वास्तुकला पर चर्चा करेंगे।

HDFS NameNode उच्च उपलब्धता

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

HDFS मास्टर / दास टोपोलॉजी इस प्रकार है। जिसमें गुरु है NameNode और दास है DataNode . NameNode भंडार मेटा डेटा। मेटाडाटा ब्लॉक की संख्या, उनके स्थान, प्रतिकृतियां, और अन्य विवरण शामिल हैं। डेटा के तेजी से पुनः प्राप्ति के लिए, मेटाडाटा मास्टर में उपलब्ध है। NameNode को बनाए रखता है और गुलाम नोड के लिए प्रदान करती है कार्य।

NameNode था विफलता के एकल बिंदु (SPOF) Hadoop 2.0 से पहले। HDFS क्लस्टर एक भी NameNode था। NameNode विफल रहता है, पूरे क्लस्टर नीचे चला जाता है।

विफलता के एकल बिंदु तरीके निम्नलिखित में उच्च उपलब्धता को सीमित करता है:

  • यदि किसी भी अनियोजित ईवेंट ट्रिगर, नोड दुर्घटनाओं की तरह है, तो क्लस्टर अनुपलब्ध जब तक एक ऑपरेटर नई namenode को पुन:प्रारंभ हो जाएगा।
  • NameNode पर हार्डवेयर के उन्नयन की तरह इसके अलावा योजना बनाई रखरखाव गतिविधियों Hadoop क्लस्टर के अन्तराल में परिणाम होगा।

HDFS NameNode उच्च उपलब्धता वास्तुकला

Hadoop 2.0 का परिचय इस पर काबू पाने SPOF कई NameNode को सहायता प्रदान करके। HDFS NameNode उच्च उपलब्धता वास्तुकला एक गर्म स्टैंडबाय के साथ एक सक्रिय / निष्क्रिय विन्यास में एक ही क्लस्टर में दो अनावश्यक NameNodes चलाने का विकल्प प्रदान करता है।

  • सक्रिय NameNode -। यह HDFS क्लस्टर में सभी HDFS ग्राहक संचालन संभालती है
  • निष्क्रिय NameNode - यह एक अतिरिक्त namenode है। यह सक्रिय NameNode रूप में इसी तरह डेटा है।

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

HDFS उच्च उपलब्धता क्लस्टर में निरंतरता को बनाए रखने में मुद्दे इस प्रकार हैं:

  • सक्रिय और स्टैंडबाय NameNode हमेशा एक दूसरे के साथ सिंक में होना चाहिए, जैसे कि वे एक ही मेटाडाटा होना चाहिए। यह अनुमति एक ही नाम स्थान राज्य है जहां यह दुर्घटनाग्रस्त हो गया करने के लिए Hadoop क्लस्टर बहाल करने के लिए। और यह तेजी से विफलता के लिए हमें प्रदान करेगा।
  • केवल एक NameNode एक समय में सक्रिय होना चाहिए। अन्यथा, दो NameNode डेटा के भ्रष्टाचार को बढ़ावा मिलेगा। हम के रूप में इस परिदृश्य फोन एक " स्प्लिट-मस्तिष्क परिदृश्य ", जहाँ एक क्लस्टर छोटे क्लस्टर में बांटा जाता है। हर एक का मानना है कि यह केवल सक्रिय समूह है। "बाड़ लगाना" से बचा जाता है इस तरह के बाड़ लगाना सुनिश्चित करना है कि केवल एक ही NameNode एक विशेष समय पर सक्रिय रहता है की एक प्रक्रिया है।

Hadoop उच्च उपलब्धता वास्तुकला

का कार्यान्वयन

दो NameNodes HDFS NameNode उच्च उपलब्धता वास्तुकला में एक ही समय में चलाते हैं। HDFS ग्राहक दो तरीके निम्नलिखित में सक्रिय और स्टैंडबाय NameNode विन्यास को लागू कर सकते हैं:

  • कोरम जर्नल नोड्स का उपयोग करना
  • साझा संग्रहण का उपयोग करना

1। का उपयोग करते हुए कोरम जर्नल नोड्स

कोरम जर्नल नोड्स एक HDFS कार्यान्वयन है। QJN लॉग संपादित प्रदान करता है। यह सक्रिय और स्टैंडबाय NameNode के बीच इन लॉग संपादित साझा करने के लिए अनुमति देता है।

स्टैंडबाय Namenode संचार और उच्च उपलब्धता के लिए सक्रिय NameNode साथ सिंक्रनाइज़ करता है। यह "जर्नल नोड्स" कहा जाता है डेमॉन के एक समूह द्वारा क्या होगा। कोरम जर्नल नोड्स पत्रिका नोड्स के एक समूह के रूप में चलाता है। कम से कम तीन पत्रिका नोड्स होना चाहिए।

एन पत्रिका नोड्स के लिए, सिस्टम में सबसे अधिक (एन 1) / 2 विफलताओं बर्दाश्त कर सकते हैं। प्रणाली इस प्रकार काम जारी है। तो, तीन पत्रिका नोड्स के लिए, प्रणाली उनमें से एक की विफलता {(3-1) / 2} बर्दाश्त कर सकते हैं।

जब भी एक सक्रिय नोड प्रदर्शन किसी भी संशोधन, यह सब पत्रिका नोड्स संशोधन लॉग करता है।

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

एक तेजी से विफलता देने के लिए अतिरिक्त नोड क्लस्टर में डेटा ब्लॉक के स्थान के बारे अप करने की तारीख की जानकारी होना आवश्यक है। इस होने के लिए, दोनों NameNode के आईपी पते सभी datanodes के लिए उपलब्ध है और वे दोनों NameNode को ब्लॉक स्थान की जानकारी और दिल की धड़कन भेजें।

NameNode की बाड़ लगाना

एक हा क्लस्टर के सही संचालन, NameNodes एक समय में सक्रिय होना चाहिए का केवल एक ही है। अन्यथा, नाम स्थान राज्य दो NameNodes के बीच विचलित होता। तो, तलवारबाजी एक क्लस्टर में इस संपत्ति सुनिश्चित करने के लिए एक प्रक्रिया है।

  • पत्रिका नोड्स केवल एक NameNode एक समय में लेखक होने की अनुमति देकर इस बाड़ लगाने प्रदर्शन करते हैं।
  • अतिरिक्त NameNode पत्रिका नोड्स के लिए लिख और किसी भी अन्य NameNode निषेध सक्रिय रहने के लिए की जिम्मेदारी लेता है।
  • अंत में, नए सक्रिय NameNode अपनी गतिविधियों प्रदर्शन कर सकते हैं।

2। का उपयोग करके साझा भंडारण

स्टैंडबाय और "साझा भंडारण उपकरण" का उपयोग करके एक दूसरे के साथ सक्रिय NameNode सिंक्रनाइज़। स्टैंडबाय इस कार्यान्वयन, दोनों सक्रिय NameNode और के लिए Namenode साझा संग्रहण उपकरण पर विशेष निर्देशिका के लिए उपयोग किया जाना चाहिए (.i.e। नेटवर्क फाइल सिस्टम)।

सक्रिय NameNode किसी भी नाम स्थान संशोधन करते हैं, यह एक संपादन लॉग साझा निर्देशिका में संग्रहीत फ़ाइल के लिए संशोधन का एक रिकार्ड लॉग करता है। अतिरिक्त NameNode संपादन के लिए इस निर्देशिका देखता है, और कब संपादन पाए जाते हैं, अतिरिक्त NameNode अपने स्वयं के नाम स्थान के लिए उन्हें लागू होता है। विफलता के मामले में, अतिरिक्त NameNode यह सुनिश्चित करेंगे कि यह सक्रिय राज्य के लिए खुद को बढ़ावा देने से पहले साझा संग्रहण से सभी संपादन पढ़ा है। यह सुनिश्चित करता है कि नाम स्थान राज्य पूरी तरह से पहले विफलता होता है सिंक्रनाइज़ है।

"विभाजन मस्तिष्क परिदृश्य" को रोकने के लिए, जिसमें दो NameNode, किसी व्यवस्थापक चाहिए कॉन्फ़िगर के बीच नाम स्थान राज्य भटक साझा भंडारण के लिए कम से कम एक बाड़ लगाने विधि।

निष्कर्ष

इसलिए, Hadoop 2.0 HDFS हा एकल सक्रिय NameNode और एकल स्टैंडबाय NameNode के लिए प्रदान करते हैं। लेकिन कुछ की तैनाती के एक उच्च डिग्री की जरूरत है दोष सहिष्णुता . Hadoop नया संस्करण 3.0, कई अतिरिक्त NameNodes चलाने के लिए अनुमति देता है।

उदाहरण के लिए, पाँच journalnodes और तीन NameNode को विन्यस्त। एक परिणाम के Hadoop क्लस्टर एक की बजाए दो नोड्स की विफलता बर्दाश्त करने में सक्षम है के रूप में।

नीचे टिप्पणी अनुभाग में HDFS NameNode उच्च उपलब्धता से संबंधित में अपने अनुभव और सुझाव साझा करें।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्लौडेरा ऑपरेशनल डेटाबेस एप्लीकेशन डेवलपमेंट कॉन्सेप्ट्स

  2. कैसे करें:HBase थ्रिफ्ट इंटरफ़ेस का उपयोग करें, भाग 1

  3. Hadoop पारिस्थितिकी तंत्र - Hadoop घटकों का परिचय

  4. स्पार्क HBase कनेक्टर - समीक्षा में एक वर्ष

  5. सैंटेंडर के पास रीयल-टाइम डेटा इंजेस्ट आर्किटेक्चर के अंदर