MongoDB प्रतिकृति सेट ट्यूटोरियल: चरण प्रतिकृति उदाहरण के लिए चरण

विषय - सूची:

Anonim

MongoDB प्रतिकृति क्या है?

प्रतिकृति यह सुनिश्चित करने की प्रक्रिया को संदर्भित करती है कि एक ही डेटा एक से अधिक Mongo DB सर्वर पर उपलब्ध है। डेटा उपलब्धता बढ़ाने के उद्देश्य से कभी-कभी इसकी आवश्यकता होती है।

क्योंकि यदि आपका मुख्य MongoDB सर्वर किसी भी कारण से नीचे जाता है, तो डेटा तक कोई पहुंच नहीं होगी। लेकिन अगर आपके पास नियमित अंतराल पर किसी अन्य सर्वर पर डेटा दोहराया गया है, तो आप प्राथमिक सर्वर विफल होने पर भी किसी अन्य सर्वर से डेटा का उपयोग कर पाएंगे।

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

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

इस ट्यूटोरियल में, आप सीखेंगे -

  • प्रतिकृति सेट: rs.initiate () का उपयोग करके पहले सदस्य को जोड़ना
  • प्रतिकृति सेट: rs.add का उपयोग करके एक माध्यमिक जोड़ना ()
  • प्रतिकृति सेट करें: rsremove () का उपयोग करके पुन: कॉन्फ़िगर या निकालना
  • समस्या निवारण प्रतिकृति सेट

प्रतिकृति सेट: rs.initiate () का उपयोग करके पहले सदस्य को जोड़ना

जैसा कि पिछले अनुभाग में उल्लेख किया गया है, प्रतिकृति को सक्षम करने के लिए, हमें पहले MongoDB उदाहरणों की प्रतिकृति सेट बनाने की आवश्यकता है।

मान लेते हैं कि हमारे उदाहरण के लिए, हमारे पास सर्वरए, सर्वरबी और सर्वरसी नामक 3 सर्वर हैं। इस कॉन्फ़िगरेशन में, ServerA हमारा प्राथमिक सर्वर होगा और ServerB और ServerC हमारा द्वितीयक सर्वर होगा। नीचे स्क्रीनशॉट इस पर एक बेहतर विचार देगा।

नीचे ऐसे चरण दिए गए हैं जिनकी प्रतिकृति सेट करने के लिए पहले सदस्य के साथ सेट बनाने के लिए अनुसरण की जानी चाहिए।

चरण 1) सुनिश्चित करें कि सभी mongod.exe उदाहरण जो प्रतिकृति सेट में जोड़े जाएंगे, विभिन्न सर्वरों पर इंस्टॉल किए जाते हैं। यह सुनिश्चित करने के लिए है कि यदि एक सर्वर नीचे जाता है, तो भी अन्य उपलब्ध होंगे और इसलिए MongoDB के अन्य उदाहरण उपलब्ध होंगे।

चरण 2) सुनिश्चित करें कि सभी mongo.exe उदाहरण एक दूसरे से जुड़ सकते हैं। ServerA से, नीचे 2 कमांड जारी करें

mongo -host ServerB -port 27017
mongo -host ServerC -port 27017

इसी तरह, शेष सर्वरों से भी ऐसा ही करें।

चरण 3) प्रतिकृति विकल्प के साथ पहले mongod.exe उदाहरण को प्रारंभ करें। यह विकल्प सभी सर्वरों के लिए एक समूहीकरण प्रदान करता है जो इस प्रतिकृति सेट का हिस्सा होगा।

mongo -replSet "Replica1"

जहाँ "प्रतिकृति 1" आपके प्रतिकृति सेट का नाम है। आप अपने प्रतिकृति सेट नाम के लिए कोई भी सार्थक नाम चुन सकते हैं।

चरण 4) अब जब पहला सर्वर प्रतिकृति सेट में जोड़ा जाता है, तो अगला चरण निम्नलिखित कमांड rs.initiate () जारी करके प्रतिकृति सेट शुरू करना है।

चरण 5) प्रतिकृति को ठीक से सेट करने के लिए कमांड rs.conf () जारी करके प्रतिकृति सेट को सत्यापित करें

प्रतिकृति सेट: rs.add का उपयोग करके एक माध्यमिक जोड़ना ()

सेकेंडरी सर्वर को केवल rsadd कमांड का उपयोग करके सेट की गई प्रतिकृति में जोड़ा जा सकता है। यह कमांड सेकंडरी सर्वर के नाम से लेता है और सर्वर को प्रतिकृति सेट में जोड़ता है।

चरण 1) मान लीजिए कि आपके पास सर्वरए, सर्वरबी और सर्वरसी है, जो आपके प्रतिकृति सेट और सर्वरए का हिस्सा होना आवश्यक है, तो प्रतिकृति सेट में प्राथमिक सर्वर के रूप में परिभाषित किया गया है।

सर्वरबी और सर्वरसी को प्रतिकृति सेट करने के लिए कमांड जारी करें

rs.add("ServerB")rs.add("ServerC")

प्रतिकृति सेट करें: rsremove () का उपयोग करके पुन: कॉन्फ़िगर या निकालना

कॉन्फ़िगरेशन सेट से एक सर्वर को हटाने के लिए, हमें "rs.remove" कमांड का उपयोग करने की आवश्यकता है

चरण 1) पहले उस इंस्टालेशन को बंद करें जिसे आप हटाना चाहते हैं। कोई भी मानगो शेल से db.shutdownserver कमांड जारी करके ऐसा कर सकता है।

चरण 2) प्राथमिक सर्वर से कनेक्ट करें

चरण 3) प्रतिकृति सेट से आवश्यक सर्वर को हटाने के लिए rs.remove कमांड का उपयोग करें। यदि मान लें कि आपके पास सर्वर, सर्वरबी और सर्वरसी के साथ प्रतिकृति सेट है, और आप प्रतिकृति सेट से सर्वरसी को हटाना चाहते हैं, तो कमांड जारी करें

rs.remove("ServerC")

समस्या निवारण प्रतिकृति सेट

निम्न चरण एक ही तरीके हैं जब कोई प्रतिकृति सेट के उपयोग के साथ समस्याओं का सामना कर सकता है।

  1. सुनिश्चित करें कि सभी mongo.exe उदाहरण एक दूसरे से जुड़ सकते हैं। मान लीजिए यदि आपके पास ServerA, ServerB और ServerC नामक 3 सर्वर हैं। सर्वर ए से, नीचे 2 कमांड जारी करें
mongo -host ServerB -port 27017mongo -host ServerC -port 27017
  1. रेस्टैटस कमांड चलाएं। यह कमांड प्रतिकृति सेट की स्थिति देता है। डिफ़ॉल्ट रूप से, प्रत्येक सदस्य एक-दूसरे को "दिल की धड़कन" नामक संदेश भेजेंगे, जो यह दर्शाता है कि सर्वर जीवित है और काम कर रहा है। "स्थिति" कमांड को इन संदेशों की स्थिति मिलती है और पता चलता है कि क्या प्रतिकृति सेट में किसी भी सदस्य के साथ कोई समस्या है।
  2. Oplog के आकार की जाँच करें - Oplog MongoDB में एक संग्रह है जो उन लेखन के इतिहास को संग्रहीत करता है जो MongbDB डेटाबेस में किए गए थे। MongoDB इसके बाद प्रतिकृति सेट में अन्य सदस्यों को लिखने को दोहराने के लिए इस Oplog का उपयोग करता है। Oplog की जाँच करने के लिए, आवश्यक सदस्य उदाहरण से कनेक्ट करें और rs.printReplicationInfo कमांड चलाएँ। यह कमांड लॉग का आकार दिखाएगा और पूर्ण होने से पहले इसकी लॉग फ़ाइल में कब तक लेनदेन कर सकता है।

सारांश:

  • प्रतिकृति यह सुनिश्चित करने की प्रक्रिया को संदर्भित करती है कि एक ही डेटा एक से अधिक Mongo DB सर्वर पर उपलब्ध है। कई सदस्यों (MongoDB उदाहरण) को आवश्यकताओं के आधार पर प्रतिकृति सेट में जोड़ा जा सकता है।