2013-02-13 12 views
7

से मेल नहीं खाता है मेरे पास 3 मशीनों की डीओओ मेरी मशीन पर चल रहे सर्वरों को दोहराती है। मैं निम्न आदेश का इस्तेमाल किया है दोहराया सर्वर बनाने के लिए:mongoDB सेट नाम

F:\>mongod --replSet test2 --dbpath 2 --port 27112 --oplogSize 50 --logpath log.2 --logappend 
all output going to: log.2 

इस मैं 27,112 बंदरगाह और 27113 पोर्ट पर test3 पर 27111 बंदरगाह, test2 पर Test1 है की तरह। फिर भी कॉन्फ़िगरेशन में मुझे एक त्रुटि मिल रही है:

cfg = { 
     "_id" : "test1", 
     "members" : [ 
       { 
         "_id" : 0, 
         "host" : "localhost:27111" 
       }, 
       { 
         "_id" : 1, 
         "host" : "localhost:27112" 
       }, 
       { 
         "_id" : 2, 
         "host" : "localhost:27113" 
       } 
     ] 
} 
> rs.initiate(cfg) 
{ 
     "errmsg" : "couldn't initiate : set name does not match the set name host localhost:27112 expects", 
     "ok" : 0 
} 

अब इसे मैच करने के लिए मुझे क्या करना है?

उत्तर

9

मेरे द्वारा चलाए जाने वाले सभी सेटों का एक ही नाम होना चाहिए। एक उदाहरण है कि अगर मैं

mongod --replSet test2 --dbpath 2 --port 27112 --oplogSize 50 --logpath log.2 --logappend 
all output going to: log.2 

फिर अन्य मोंगो सर्वर मैं उस सेट में हो करने का इरादा होगा चलाने के लिए, एक ही नाम होना चाहिए test2

0

अपनी मशीन या 127.0.0.1 के नाम से आज़माएं। यह DNS नाम का उपयोग करने का सबसे अच्छा अभ्यास है।

+0

{मेजबान: "127.0.0.1:1:27111"} की कोशिश की और यह काम नहीं करता। – sadaf2605

1

नाम या चर "cfg" = { "_id":="test1" }

में इस्तेमाल करना चाहिए उस प्रतिकृति सेट के सभी सदस्यों के लिए पैरामीटर replSet के लिए निम्न में उपयोग किए गए नाम की पुष्टि करें।

फिर बातों के लिए आप

"start mongod --replSet "test1" --logpath "1.log" --dbpath C:\Replica\rs01 --port 27017 --oplogSize 64 

गुड लक

राव

0

MongoDB replicaset सुचारू रूप से काम करते हैं localhost को स्वीकार नहीं करता होगा। निम्नलिखित के रूप में replicaset नोड जोड़ते समय वास्तविक मशीन नाम का उपयोग कर प्रयास करें:

rs.add("MY_MACHINE_NAME:27017"); 
0

जब प्रतिकृति सेट जोड़ने, --replset तीनों के लिए ही होना चाहिए। उदाहरण के लिए यदि प्राथमिक के लिए यह "आरएस 01" था, तो यह अन्य दो के लिए भी होना चाहिए।

0

नीचे दिए गए चरणों मेरे लिए काम किया:

mongod --port 27017 --dbpath "C:\MongoDB\data01" --replSet rs0 --bind_ip localhost 
mongod --port 27018 --dbpath "C:\MongoDB\data02" --replSet rs0 --bind_ip localhost 

इन दो पंक्तियों को अलग बंदरगाहों में दो अलग-अलग मोंगो उदाहरणों शुरू करते हैं। दूसरे उदाहरण पर, मैंने mongod.conf में replSet = rs0 जोड़ा है।

तो इस आदेश से rs0 नोड में माध्यमिक जोड़ें:

rs.add("localhost:27018")