कोरम जर्नल मैनेजर के साथ NameNode उच्च उपलब्धता

NameNode उच्च उपलब्धता Hadoop 2.0 की सबसे महत्वपूर्ण विशेषताओं में से एक है NameNode उच्च उपलब्धता Quorum जर्नल प्रबंधक के साथ सक्रिय और स्टैंडबाय NameNodes के बीच संपादित लॉग साझा करने के लिए उपयोग की जाती है।

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





कोरम जर्नल मैनेजर (QJM) के साथ NameNode उच्च उपलब्धता

Hadoop 2.0 से पहले, NameNode एक HDFS क्लस्टर में विफलता (SPOF) का एकल बिंदु था। प्रत्येक क्लस्टर में एक एकल NameNode था, और यदि वह मशीन अनुपलब्ध थी, तो पूरी तरह से क्लस्टर अनुपलब्ध होगा जब तक NameNode को फिर से चालू या अलग मशीन पर शुरू नहीं किया जाता। एक क्लासिक हा क्लस्टर में, NameNodes के रूप में दो अलग-अलग मशीनों को कॉन्फ़िगर किया गया है। किसी भी बिंदु पर, NameNodes में से एक सक्रिय स्थिति में होगा और दूसरा एक स्टैंडबाय स्थिति में होगा। Active NameNode क्लस्टर में सभी क्लाइंट ऑपरेशन के लिए ज़िम्मेदार है, जबकि स्टैंडबाई बस एक गुलाम के रूप में काम कर रहा है, एक तेज़ विफलता प्रदान करने के लिए पर्याप्त स्थिति बनाए रखता है।

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



तेजी से विफलता प्रदान करने के लिए, यह आवश्यक है कि स्टैंडबाय नोड के पास क्लस्टर में ब्लॉकों के स्थान के बारे में अद्यतन और वर्तमान जानकारी होनी चाहिए। ऐसा करने के लिए, DataNodes दोनों NameNodes के स्थान के साथ कॉन्फ़िगर किया गया है, और ब्लॉक स्थान की जानकारी और दिल की धड़कन दोनों को भेजें।

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

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में उनका उल्लेख करें और हम आपके पास वापस आ जाएंगे।



कैसे जावा में एक शक्ति के लिए कुछ बढ़ाने के लिए

संबंधित पोस्ट:

Hadoop 2.0 क्लस्टर आर्किटेक्चर फेडरेशन का अवलोकन