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

क्लाउड में MongoDB को स्वचालित और प्रबंधित करना

डेटाबेस प्रबंधन परंपरागत रूप से जटिल और समय लेने वाला रहा है। सुरक्षा, जटिल नेटवर्किंग, बैकअप योजना और कार्यान्वयन, और निगरानी के सिरदर्द के साथ परिनियोजन एक सिरदर्द रहा है। अपने डेटाबेस क्लस्टर का विस्तार करना एक प्रमुख उपक्रम रहा है। और ऐसी दुनिया में जहां 24/7 उपलब्धता और तेजी से आपदा वसूली की उम्मीद है, यहां तक ​​​​कि एक डेटाबेस क्लस्टर का प्रबंधन भी पूर्णकालिक काम हो सकता है।

कईनीन्स क्लस्टरकंट्रोल एक डेटाबेस परिनियोजन और प्रबंधन प्रणाली है जो उपरोक्त को संबोधित करती है, उन्नत बैकअप और निगरानी कार्यक्षमता सहित - चाहे वह आधार पर हो या क्लाउड में, अनावश्यक, सुरक्षित डेटाबेस क्लस्टर या नोड्स की तेजी से तैनाती की सुविधा प्रदान करती है। Nagios, PagerDuty, और Zabbix को सपोर्ट करने वाले प्लगइन्स के साथ, क्लस्टरकंट्रोल मौजूदा इन्फ्रास्ट्रक्चर और टूल्स के साथ अच्छी तरह से एकीकृत हो जाता है, जिससे आपको आत्मविश्वास के साथ अपने डेटाबेस सर्वर को मैनेज करने में मदद मिलती है।

MongoDB आज दुनिया में अग्रणी NoSQL डेटाबेस सर्वर है। ClusterControl का उपयोग करके, जिसके साथ आप MongoDB के लिए आधिकारिक MongoDB या Percona सर्वर को तैनात और प्रबंधित कर सकते हैं, MongoDB एंटरप्राइज़ सुविधाओं को शामिल करते हुए Percona की प्रतिस्पर्धी पेशकश, हम तीन डेटा नोड्स के साथ एक MongoDB प्रतिकृति सेट की तैनाती के माध्यम से चलने जा रहे हैं, और कुछ सुविधाओं को देखें। ClusterControl एप्लिकेशन का।

हम ClusterControl की कुछ प्रमुख विशेषताओं के माध्यम से चलने जा रहे हैं, विशेष रूप से जब वे Amazon वेब सेवाओं का उपयोग करते हुए MongoDB से संबंधित हैं। अमेज़ॅन वेब सर्विसेज (या एडब्ल्यूएस) विश्व स्तर पर सेवा क्लाउड प्रदाता के रूप में सबसे बड़ा इंफ्रास्ट्रक्चर है, जो दुनिया भर में लाखों उपयोगकर्ताओं की मेजबानी करता है। इसमें एस 3 के साथ लगभग असीमित ऑब्जेक्ट स्टोरेज और ईसी 2 का उपयोग करके अत्यधिक स्केलेबल वर्चुअल मशीन इंफ्रास्ट्रक्चर से सभी उपयोग मामलों के लिए कई सेवाएं शामिल हैं। Redshift और यहां तक ​​कि मशीन लर्निंग के साथ एंटरप्राइज़ डेटाबेस वेयरहाउसिंग के लिए सभी तरह से।

एक बार जब आप इस ब्लॉग को पढ़ लेंगे, तो आप अमेज़ॅन वेब सर्विसेज श्वेतपत्र पर हमारे DIY क्लाउड डेटाबेस को भी पढ़ना चाहेंगे, जो एडब्ल्यूएस क्लाउड में डेटाबेस सर्वर के लिए कॉन्फ़िगरेशन और प्रदर्शन विचारों पर अधिक विस्तार से चर्चा करता है। इसके अलावा, हमारे पास MongoDB DBA बन गया है, एक श्वेतपत्र जिसमें MongoDB-विशिष्ट विवरण अधिक गहराई से है।

शुरू करने के लिए, पहले आपको चार AWS इंस्टेंस को तैनात करने की आवश्यकता होगी। एक प्रोडक्शन प्लेटफॉर्म के लिए, हमने पहले जिन दिशानिर्देशों पर चर्चा की है, उनके आधार पर इंस्टेंस प्रकार को सावधानी से चुना जाना चाहिए, लेकिन हमारे उद्देश्यों के लिए 2 वर्चुअल सीपीयू और 4 जीबी रैम के साथ इंस्टेंस पर्याप्त होंगे। इनमें से एक नोड ClusterControl को होस्ट करेगा, अन्य का उपयोग तीन डेटाबेस नोड्स को परिनियोजित करने के लिए किया जाएगा।

अपने डेटाबेस नोड्स का सुरक्षा समूह बनाकर शुरू करें, पोर्ट 27017 पर इनबाउंड ट्रैफ़िक की अनुमति दें। आउटबाउंड ट्रैफ़िक को प्रतिबंधित करने की कोई आवश्यकता नहीं है, लेकिन क्या आप ऐसा करना चाहते हैं, डेटाबेस सर्वर से आउटबाउंड संचार की सुविधा के लिए पोर्ट 1024-65535 पर आउटबाउंड ट्रैफ़िक की अनुमति दें। ।

इसके बाद अपने ClusterControl नोड के लिए सुरक्षा समूह बनाएं। पोर्ट 22, और 80 पर इनबाउंड ट्रैफ़िक की अनुमति दें। इस सुरक्षा समूह आईडी को अपने डेटाबेस नोड्स सुरक्षा समूह में जोड़ें, और अप्रतिबंधित टीसीपी संचार की अनुमति दें। यह दो सुरक्षा समूहों के बीच संचार की सुविधा प्रदान करेगा, बाहरी क्लाइंट से डेटाबेस नोड्स तक एसएसएच पहुंच की अनुमति के बिना।

इंस्टेंस को उनके संबंधित सुरक्षा समूहों में लॉन्च करें, प्रत्येक इंस्टेंस के लिए एक KeyPair चुनें जिसके लिए आपके पास ssh कुंजी है। इस कार्य के प्रयोजनों के लिए, सभी उदाहरणों के लिए समान KeyPair का उपयोग करें। यदि आपने अपने KeyPair के लिए ssh कुंजी खो दी है, तो आपको एक नया KeyPair बनाना होगा। इंस्टेंस लॉन्च करते समय, डिफ़ॉल्ट अमेज़ॅन लिनक्स छवि का चयन न करें, इसके बजाय यहां सूचीबद्ध समर्थित ऑपरेटिंग सिस्टम के आधार पर एएमआई चुनें। चूँकि मैं AWS क्षेत्र EU-CENTRAL-1 का उपयोग कर रहा हूँ, मैं इस उद्देश्य के लिए समुदाय AMI ami-fa2df395, एक CentOS 7.3 छवि का उपयोग करूँगा।

यदि आपके पास AWS कमांड लाइन उपकरण स्थापित हैं, तो aws ec2 वर्णन-उदाहरण का उपयोग करें यह पुष्टि करने के लिए कि आपके इंस्टेंस चल रहे हैं--अन्यथा AWS वेब कंसोल में अपने इंस्टेंस देखें-- और पुष्टि होने पर, ssh के माध्यम से ClusterControl इंस्टेंस में लॉग इन करें।

अपने KeyPair को ClusterControl इंस्टेंस में बनाते समय आपके द्वारा डाउनलोड की गई सार्वजनिक कुंजी फ़ाइल की प्रतिलिपि बनाएँ। आप scp . का उपयोग कर सकते हैं इस उद्देश्य के लिए आदेश। अभी के लिए, इसे डिफ़ॉल्ट / होम / सेंटोस निर्देशिका, सेंटोस उपयोगकर्ता की होम निर्देशिका में छोड़ दें। मैंने अपने s9s.pem को कॉल किया है। आपको स्थापित wget टूल की आवश्यकता होगी; निम्न आदेश का उपयोग करके इसे स्थापित करें:

$ sudo yum -y install wget

ClusterControl स्थापित करने के लिए, निम्नलिखित कमांड चलाएँ:

$ wget http://www.severalnines.com/downloads/cmon/install-cc
$ chmod +x install-cc
$ ./install-cc # as root or sudo user

इंस्टॉलेशन आपको कुछ शुरुआती सवालों से रूबरू कराएगा, जिसके बाद आपके ऑपरेटिंग सिस्टम के पैकेज मैनेजर का उपयोग करके निर्भरता को पुनः प्राप्त करने और स्थापित करने में कुछ मिनट लगेंगे।

जब इंस्टॉलेशन पूरा हो जाए, तो अपने वेब ब्राउज़र को http://<आपके ClusterControl इंस्टेंस का पता> पर इंगित करें। आप वर्णन-इंस्टेंस . का उपयोग करके इंस्टेंस का बाहरी पता लगा सकते हैं आदेश, या एडब्ल्यूएस वेब कंसोल के माध्यम से।

एक बार जब आप सफलतापूर्वक लॉग इन कर लेते हैं, तो आपको निम्न स्क्रीन दिखाई देगी, और आप अपने MongoDB प्रतिकृति सेट को परिनियोजित करना जारी रख सकते हैं।

चित्र 1:ClusterControl में आपका स्वागत है!

जैसा कि आप देख सकते हैं, ClusterControl मौजूदा डेटाबेस क्लस्टर को भी आयात कर सकता है, जिससे यह आपके मौजूदा बुनियादी ढांचे को नई तैनाती की तरह आसानी से प्रबंधित कर सकता है।

हमारे उद्देश्यों के लिए, आप डेटाबेस क्लस्टर परिनियोजित करें . पर क्लिक करने जा रहे हैं . अगली स्क्रीन पर आप डेटाबेस सर्वर और क्लस्टर प्रकारों का चयन देखेंगे जो ClusterControl का समर्थन करता है। MongoDB ReplicaSet लेबल वाले टैब पर क्लिक करें . यहां वे मान जिनसे आप संबंधित हैं SSH उपयोगकर्ता . हैं , SSH कुंजी पथ , और क्लस्टर नाम . पोर्ट पहले से ही 22 होना चाहिए, डिफ़ॉल्ट एसएसएच पोर्ट, और हम जिस एएमआई का उपयोग कर रहे हैं उसे सुडो पासवर्ड की आवश्यकता नहीं है ।

चित्र 2:MongoDB प्रतिकृति सेट को परिनियोजित करना

CentOS 7 AMI के लिए ssh उपयोगकर्ता centos . है , और SSH कुंजी पथ /home/centos/s9s.pem है , या आपके अपने कुंजी फ़ाइल नाम के आधार पर उपयुक्त पथ। आइए MongoDB-RS0 का उपयोग करें क्लस्टर नाम के रूप में। डिफ़ॉल्ट विकल्पों को स्वीकार करते हुए, हम जारी रखें . पर क्लिक करते हैं ।

चित्र 3:अपने परिनियोजन को कॉन्फ़िगर करना

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

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

चित्र 4:स्वतः पुनर्प्राप्ति

करीब से देखने पर, आप देख सकते हैं कि ऑटो रिकवरी क्लस्टर और नोड दोनों स्तरों पर सक्षम है; विफलताओं के मामले में, ClusterControl आपके क्लस्टर या समस्या वाले व्यक्तिगत नोड को पुनर्प्राप्त करने का प्रयास करेगा। प्रत्येक नोड के बगल में हरा टिक एक नज़र में क्लस्टर की स्वास्थ्य स्थिति को भी प्रदर्शित करता है।

चित्र 5:बैकअप शेड्यूल करना

आखिरी विशेषता जिसे हम यहां कवर करेंगे, वह है बैकअप। ClusterControl एक बैकअप सुविधा प्रदान करता है जो एक पूर्ण क्लस्टर संगत बैकअप, या बस एक मानक mongodump की अनुमति देता है यदि आप चाहें तो बैकअप लें। यह आपके द्वारा चुने गए शेड्यूल के अनुसार समय-समय पर चलने के लिए शेड्यूल्ड बैकअप बनाने की सुविधा भी प्रदान करता है। बैकअप प्रतिधारण को भी सीमित अवधि के लिए बैकअप बनाए रखने के विकल्प के साथ संभाला जाता है, भंडारण संबंधी समस्याओं से बचा जाता है।

इस ब्लॉग में मैंने आपको MongoDB के साथ ClusterControl का उपयोग करने का एक संक्षिप्त अवलोकन देने का प्रयास किया है, लेकिन ClusterControl द्वारा समर्थित कई और सुविधाएँ हैं। छिपे हुए और/या विलंबित दासों, मध्यस्थों और अन्य सुविधाओं के साथ साझा समूहों की तैनाती सभी उपलब्ध हैं। अधिक जानकारी हमारी वेबसाइट पर उपलब्ध है, जहां आप वेबिनार, श्वेतपत्र, ट्यूटोरियल और प्रशिक्षण भी प्राप्त कर सकते हैं और क्लस्टरकंट्रोल को निःशुल्क आज़मा सकते हैं।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB प्रतिकृति सेट के लिए AppArmor को कैसे कॉन्फ़िगर करें?

  2. कैसे एक कॉल के साथ नेवला में एक सरणी में वस्तुओं की एक सरणी पुश करने के लिए?

  3. मोंगोडब $लुकअप गतिशील संग्रह

  4. मैं मोंगोज़ के साथ ऑब्जेक्ट आईडी कैसे उत्पन्न कर सकता हूं?

  5. विंडोज़ में मोंगोडीबी से कैसे कनेक्ट करें?