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

MongoDB विंडोज़ सेवा के रूप में और रेप्लिकासेट सेट करना

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

डेटा निर्देशिका, लॉग फ़ाइल, पोर्ट नंबर और प्रतिकृति सेट नाम सहित प्रत्येक प्रतिकृति सेट सदस्य के लिए एक कॉन्फ़िगरेशन फ़ाइल बनाएँ। उदाहरण के लिए, मेरे पास 3 सदस्यों का एक प्रतिकृति सेट है, एक प्राथमिक मोंगोडब पोर्ट 27017 पर चल रहा है और दो द्वितीयक, मोंगोडब1 पोर्ट 37017 पर, और मोंगोडब2 पोर्ट 47017 पर है। प्रतिकृति सेट का नाम rs1 है।

यहाँ विन्यास फाइल है, उदाहरण के लिए Mongodb.

# mongod.conf

# data directory
dbpath=C:\data\db

# log file
logpath=C:\mongodb-win32-i386-2.4.4\log\mongo.log

logappend=true

#port number 
port=27017

#replica set name
replSet=rs1

सेकेंडरी में से किसी एक के लिए कॉन्फ़िगरेशन फ़ाइल यहां दी गई है।

# mongo.conf

# data directory
dbpath=C:\data\db2

# log file
logpath=C:\mongodb-win32-i386-2.4.4\log2\mongo.log

logappend=true

# port number
port=47017

# replica set name
replSet=rs1

निम्न लिंक कॉन्फ़िगरेशन फ़ाइल विकल्पों की पूरी सूची प्रदान करता है:http://docs.mongodb.org/manual/reference/configuration-options/

सभी तीन MongoDB इंस्टेंस को Windows सेवा के रूप में जोड़ें। चूंकि मैंने सेवा और सेवा प्रदर्शन नाम निर्दिष्ट नहीं किया है, MongoDB सेवा डिफ़ॉल्ट सेवा/सेवा प्रदर्शन नाम MongoDB का उपयोग करेगी

C:\mongodb-2.4.4\bin>mongod --config C:\mongodb-2.4.4\mongod.cfg --install

सेवा नाम और सेवा प्रदर्शन नाम के साथ अन्य दो MongoDB इंस्टेंस स्थापित करें।

C:\mongodb-2.4.4\bin>mongod --config C:\mongodb-2.4.4\mongod1.cfg --serviceName MongoDB1 --serviceDisplayName MongoDB1 --install
C:\mongodb-2.4.4\bin>mongod --config C:\mongodb-2.4.4\mongod2.cfg --serviceName MongoDB2 --serviceDisplayName MongoDB2 --install

मोंगडीबी के सभी तीन उदाहरण शुरू करें

C:\mongodb-2.4.4\bin>net start mongodb
The Mongo DB service is starting.
The Mongo DB service was started successfully.

C:\mongodb-2.4.4\bin>net start mongodb1
The MongoDB1 service is starting.
The MongoDB1 service was started successfully.

C:\mongodb-2.4.4\bin>net start mongodb2
The MongoDB2 service is starting.
The MongoDB2 service was started successfully.

क्वेरी विकल्प के साथ sc कमांड का उपयोग करके सभी तीन विंडोज़ सेवा की स्थिति सत्यापित करें।

C:\mongodb-2.4.4\bin>sc query mongodb
C:\mongodb-2.4.4\bin>sc query mongodb1
C:\mongodb-2.4.4\bin>sc query mongodb2

MongoDB शेल से प्रतिकृति सेट को कॉन्फ़िगर करें। निम्नलिखित उदाहरण में, पोर्ट 27017 पर MongoDB उदाहरण प्राथमिक प्रतिकृति सेट सदस्य होगा।

C:\mongodb-2.4.4\bin>mongo --port 27017

MongoDB शेल से प्रतिकृति सेट कॉन्फ़िगरेशन सेट करें।

> config = { _id: "rs1", members:[
... { _id : 0, host : "localhost:27017"},
... { _id : 1, host : "localhost:37017"},
... { _id : 2, host : "localhost:47017"}
... ] }

MongoDB शेल में, प्रतिकृति सेट को इनिशियलाइज़ करें और इसकी स्थिति सत्यापित करें।

> rs.initiate(config)
{
        "info" : "Config now saved locally.  Should come online in about a minute.",
        "ok" : 1
}
> rs.status()
{
        "set" : "rs1",
        "date" : ISODate("2013-07-02T18:40:27Z"),
        "myState" : 1,
        "members" : [
                {
                        "_id" : 0,
                        "name" : "localhost:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 651,
                        "optime" : {
                                "t" : 1372790393,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2013-07-02T18:39:53Z"),
                        "self" : true
                },
                {
                        "_id" : 1,
                        "name" : "localhost:37017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 31,
                        "optime" : {
                                "t" : 1372790393,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2013-07-02T18:39:53Z"),
                        "lastHeartbeat" : ISODate("2013-07-02T18:40:26Z"),
                        "lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
                        "pingMs" : 0,
                        "syncingTo" : "localhost:27017"
                },
                {
                        "_id" : 2,
                        "name" : "localhost:47017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 31,
                        "optime" : {
                                "t" : 1372790393,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2013-07-02T18:39:53Z"),
                        "lastHeartbeat" : ISODate("2013-07-02T18:40:26Z"),
                        "lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
                        "pingMs" : 0,
                        "syncingTo" : "localhost:27017"
                }
        ],
        "ok" : 1
}
rs1:PRIMARY>

आप सेकेंडरी की स्थिति भी देख सकते हैं। यहां मैं पोर्ट 37017 पर सेकेंडरी में से एक से जुड़ रहा हूं।

C:\mongodb-2.4.4\bin>mongo --port 37017

निम्न संकेत माध्यमिक स्थिति दिखाते हुए MongoDB शेल में मौजूद होगा।

rs1:SECONDARY>

प्रतिकृति सेट को तैनात करने पर एक ट्यूटोरियल यहां पाया जा सकता है:https://docs.mongodb.com/manual/tutorial/deploy-replica-set/



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में एक तिथि से वर्ष प्राप्त करने के 6 तरीके

  2. MongoDB सी # स्ट्रिंग पर 'पसंद' के लिए क्वेरी

  3. कैसे जूनिट परीक्षण एक स्प्रिंगबूट आवेदन में एम्बेडेड mongoDB का उपयोग करने के लिए?

  4. MongoDB डेटाबेस से कनेक्ट करना

  5. स्प्रिंग डेटा MongoDB में कस्टम कैस्केडिंग