2012-08-26 7 views
5

एक 3-नोड replicaSet कारण है कि जब 2 तिहाई नीचे हैं माध्यमिक बनने में और नहीं प्राथमिक कर रहे हैं?तीन नोड्स MongoDB में प्रतिकृति-सेट का उपयोग और 2 नीचे

मैं एक DataCenter और एक बाहर के अंदर 2 mongod करना चाहते हैं, इसलिए यदि Datacenters विफल रहता है मैं तीसरे बाहर mongod प्राथमिक हो जाता है चाहता हूँ।

यह बिना और arbiter के संभव है?

उत्तर

7

ठीक है, प्रतिक्रिया मिली:

http://tebros.com/2010/11/mongodb-arbiters-with-only-two-replicas/

क्या happend ?! यह पता चला है कि जब एक मोंगोड इंस्टेंस अलग होता है, तो यह खुद को प्राथमिक होने के लिए वोट नहीं दे सकता है। जब आप इसके बारे में सोचते हैं तो यह समझ में आता है। यदि कोई नेटवर्क लिंक डाउन हो गया है और आपकी दो प्रतिकृतियां अलग कर दी गई हैं, तो आप नहीं चाहते हैं कि वे दोनों खुद को प्राथमिक के रूप में चुन सकें। तो मेरे मामले में, जब rep1-1 ने देखा कि यह प्रतिकृति सेट के बाकी हिस्सों से अलग था, यह स्वयं को माध्यमिक बना दिया और लिखने को स्वीकार करना बंद कर दिया।

3

हमेशा आप (यह मानते हुए आप प्रतिभागियों की विषम संख्या है) (cluster_participants/2) + 1 नोड्स नीचे के साथ खत्म, क्लस्टर अपरिवर्तनीय मोड में प्रवेश करती है। उम्मीदवार नोडी को प्राथमिक के रूप में निर्वाचित होने के लिए सभी नोड्स के बहुमत की आवश्यकता होती है।

उदाहरण के लिए, अगर आप 5 नोड क्लस्टर है और 3 नोड्स दूर उड़ा, दूसरों के रूप में माध्यमिक, क्योंकि उनमें से कोई भी 3 वोट प्राप्त कर सकते हैं रहना होगा।

अधिक जानकारी के लिए: http://docs.mongodb.org/manual/core/replication-internals/#replica-set-election-internals

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