इस Hadoop ट्यूटोरियल . में , हम Hadoop में NameNode स्वचालित विफलता की अवधारणा पर चर्चा करने जा रहे हैं सबसे पहले, हम देखेंगे कि विफलता क्या है और विफलता के प्रकार क्या हैं। फिर हम HDFS . को कवर करेंगे Hadoop में स्वचालित विफलता।
HDFS में Hadoop स्वचालित विफलता के घटक जैसे कि ZooKeeper कोरम, ZKFailoverController Process (ZKFC)। अंत में, हम इन दो Hadoop के घटकों . की भूमिकाओं पर भी चर्चा करेंगे ।
विफलता क्या है?
जिस प्रक्रिया में सिस्टम विफलता का पता लगाने पर अपने नियंत्रण को सेकेंडरी सिस्टम को हस्तांतरित करता है, उसे विफलता के रूप में जाना जाता है ।
विफलता दो प्रकार की होती है:
- सुंदर विफलता - व्यवस्थापक ग्रेसफुल फ़ेलओवर को मैन्युअल रूप से आरंभ करता है, उदाहरण के लिए, नियमित रखरखाव के मामले में। सिस्टम स्वचालित रूप से सक्रिय से स्टैंडबाय नामेनोड में विफलता को सक्रिय नहीं करेगा, भले ही सक्रिय नोड ग्रेसफुल फ़ेलओवर में विफल हो गया हो।
- स्वचालित विफलता - स्वचालित विफलता वह प्रक्रिया है जिसमें जब NameNode विफल हो जाता है तो सिस्टम स्वचालित रूप से अपने नियंत्रण को स्टैंडबाय NameNode में स्थानांतरित कर देता है। Hadoop में NameNode विफलताओं के मामले में स्वचालित विफलता होती है। लेकिन NameNode की विफलता के मामले में, विफलता स्वचालित रूप से शुरू हो जाएगी। यह फ़ेलओवर स्वचालित फ़ेलओवर है।
Hadoop में NameNode स्वचालित विफलता
Hadoop में स्वचालित विफलता एक Hadoop HDFS परिनियोजन के लिए नीचे के घटकों को जोड़ती है:
- चिड़ियाघर कीपर कोरम।
- ZKFailoverController प्रक्रिया (ZKFC)।
हडूप में ज़ुकीपर एक केंद्रीकृत सेवा है। यह कॉन्फ़िगरेशन जानकारी को बनाए रखता है, नामकरण करता है, और वितरित सिंक्रनाइज़ेशन प्रदान करता है। यह समूह सेवाएं भी प्रदान करता है। ज़ूकीपर मशीनों के एक बड़े समूह का प्रबंधन और समन्वय भी करता है।
निम्नलिखित कारणों से, स्वचालित HDFS विफलता का कार्यान्वयन ज़ूकीपर पर निर्भर करता है:
- विफलता का पता लगाना- हडोप में ज़ुकीपर नेमेनोड्स के साथ एक सत्र बनाए रखता है। एक विफलता के दौरान, सत्र समाप्त हो जाएगा। इसलिए, ज़ूकीपर अन्य नामनोड्स को फ़ेलओवर प्रक्रिया शुरू करने के लिए सूचित करेगा।
- सक्रिय NameNode चुनाव- ज़ुकीपर द्वारा प्रदान किया गया एक सरल तंत्र केवल एक नोड को सक्रिय के रूप में चुनने के लिए प्रदान करता है। सक्रिय नामेनोड की विफलता के समय, अन्य नामेनोड ज़ूकीपर में एक विशेष लॉक ले सकते हैं, यह कहते हुए कि वह अगला सक्रिय नामेनोड बनना चाहता है।
ZKFC Hadoop में ज़ूकीपर का क्लाइंट है जो नामेनोड स्थिति की निगरानी और प्रबंधन करता है। नामेनोड सेवा चलाने वाली प्रत्येक मशीन एक ZKFS भी चलाती है। यह संभाल सकता है:
- स्वास्थ्य निगरानी - स्वास्थ्य जांच कमांड के साथ ZKFS अपने स्थानीय नामेनोड को पिंग करता है। ZKFS नामेनोड को स्वस्थ मानता है, जब तक कि नामेनोड एक बार में प्रतिक्रिया करता है। यदि नोड क्रैश हो गया है, या अस्वस्थ स्थिति में प्रवेश कर गया है, तो स्वास्थ्य मॉनिटर एक नोड को अस्वस्थ के रूप में चिह्नित करेगा।
- ज़ूकीपर सत्र प्रबंधन - ZKFC स्थानीय नामेनोड के स्वस्थ होने पर ज़ूकीपर में एक सत्र खोलता है। स्थानीय नामेनोड सक्रिय होने पर इसमें एक विशेष "लॉक" ज़नोड भी होता है। यदि सत्र समाप्त हो जाता है, तो लॉक स्वचालित रूप से हटा दिया जाएगा।
- जूकीपर आधारित चुनाव – एचडीएफएस में, यदि स्थानीय नामेनोड स्वस्थ है, और जेडकेएफसी देखता है कि वर्तमान में कोई अन्य नोड लॉक ज़नोड नहीं रखता है, तो यह स्वयं लॉक प्राप्त करने का प्रयास करेगा। और, यदि यह सफल होता है, तो यह चुनाव जीत गया है", और यह अपने स्थानीय नामेनोड को सक्रिय करने के लिए एक विफलता चलाने को संभालता है।
निष्कर्ष
इसलिए, NameNode की विफलता के मामले में Hadoop में स्वचालित विफलता स्वचालित रूप से शुरू हो जाती है। स्वचालित फ़ेलओवर एक HDFS परिनियोजन में ZooKeeper कोरम और ZKFailoverController प्रोसेस (ZKFC) घटकों को जोड़ता है।
Hadoop में ज़ूकीपर एक ऐसी सेवा है जो स्वचालित विफलता HDFS में क्षमता provides प्रदान करती है ।