2013-09-05 7 views
5

में कनवर्ट करें वर्तमान में हमारे पास दो पूर्ण सदस्यों & एक आर्बिटर के साथ प्रतिकृति सेट है। अब, मुझे पूर्ण सदस्य बनने के लिए मध्यस्थ को बढ़ावा देने की आवश्यकता है। इस बारे में जाने का सबसे आसान तरीका क्या है? मेरे पास खेलने के लिए और अधिक सर्वर नहीं हैं, इसलिए मुझे यह मशीनों के साथ ऐसा करने की ज़रूरत है।arbiter को पूर्ण सदस्य

उत्तर

7

यदि मैं आपको सही ढंग से समझता हूं: आप अपने आर्बिटर को उसी हार्डवेयर पर पूर्ण मोंगो सर्वर पर ले जाना चाहते हैं। पहली बात यह है कि आप विचार करना चाहते हैं कि अगर arbiter हार्डवेयर डेटाबेस का समर्थन करने में सक्षम है। यदि arbiter में बहुत कम हार्डवेयर है तो अन्य 2 नोड्स शायद यह अच्छी तरह से बाहर नहीं निकलेगा। कई मध्यस्थ मशीनों पर चल रहे हैं जो पूर्ण डेटाबेस का समर्थन नहीं कर सकते हैं। यदि आप ऐसा करना चाहते हैं तो आपको मशीन को स्क्रैच से पूर्ण नोड के रूप में सेट करने की आवश्यकता होगी। एक पूर्ण सदस्य को स्वचालित रूप से एक मध्यस्थ को बढ़ावा देने का कोई तरीका नहीं है।

ऐसा करने के लिए: 1) arbiter पर mongod प्रक्रिया को बंद करने की पहली आवश्यकता है। फिर आप यह सुनिश्चित करने के लिए डेटा निर्देशिका जांचना चाह सकते हैं कि यह डेटा धारण कर सके, एक आर्बिटर के रूप में उसके पास 2) मोंगो खोल के साथ प्राथमिक से कनेक्ट करें। यदि आप अनिश्चित हैं तो आप यह देखने के लिए कि कौन सा नोड प्राथमिक है, आप खोल में db.isMaster() का उपयोग कर सकते हैं। 3) सेट से इसे हटाने के लिए rs.remove ("") का प्रयोग करें। 4) नया मोंगो सर्वर शुरू करें। सुनिश्चित करें कि डेटा निर्देशिका खाली है (यह प्रतिकृति सेट से कॉपी होगी)। आदेश कुछ mongod --dbpath --replSet की तरह है। आपके पास कॉन्फ़िगरेशन दिए गए अन्य विकल्प हो सकते हैं। 5) प्राथमिक रन rs.add() 6) rs.conf() को कॉल करने के लिए यह पुष्टि करने के लिए कि आपकी कॉन्फ़िगरेशन अच्छी है।

एक साइड नोट के रूप में, आप प्रारंभिक सिंक के लिए rsync का उपयोग कर नए नोड और प्राथमिक के बीच डेटा निर्देशिका को सिंक भी कर सकते हैं। लेकिन यदि आपका डेटा छोटा है तो सिर्फ मोंगो करें, यह आसान होगा। यदि आपको rsync का उपयोग करने की आवश्यकता है तो कृपया सभी आवश्यकताओं के लिए दस्तावेज़ देखें। http://docs.mongodb.org/manual/tutorial/expand-replica-set/

यदि आपके कोई अन्य प्रश्न हैं, तो कृपया मुझे बताएं।

बेस्ट, चार्ली

+0

मैं सिर्फ प्रतिकृति सेट को फिर से कॉन्फ़िगर द्वारा मध्यस्थ बंद किए बिना इस की कोशिश की है, और यह अनिश्चित काल के लिए ROLLBACK राज्य पर रखा। इस जवाब के लिए धन्यवाद अब मुझे पता है कि इसे मध्यस्थ –

+0

@ चार्ली पेज के रूप में प्रतिलिपि सेट में दोबारा जोड़ने से पहले बंद करने के लिए आर्बिटर को बंद करना होगा, मैं अरबीटर को एक नए पूर्ण माध्यमिक के साथ बदलने की कोशिश कर रहा हूं, इसलिए मुझे उसी प्रक्रिया का पालन करना चाहिए। 1. arbiter निकालें 2. नया माध्यमिक जोड़ें 3. पकड़ने के लिए नए माध्यमिक के लिए प्रतीक्षा करें। इस प्रक्रिया में जब तक यह नया नोड माध्यमिक नहीं बन जाता है, तब तक मेरे दो नोड पूरी तरह कार्यात्मक होंगे (आर्बिटर पहले ही हटा दिया गया है) इसलिए यह पुष्टि करना चाहता था कि यह तदनुसार काम करेगा। धन्यवाद – viren

संबंधित मुद्दे