Skip to content
william-p edited this page Apr 3, 2013 · 3 revisions

Configure a Replica Set in 2 minutes

Configuration (mongoSuite.conf)

Okay, we configure one node (Node1) and three instances (MyDB1, MyDB2 and MyDB3).

Node:

[node-Node1]
host = localhost

Instances:

[instance-MyDB1]
node = Node1
port = 20001
flags = --nojournal --noprealloc

[instance-MyDB2]
node = Node1
port = 20002
flags = --nojournal --noprealloc

[instance-MyDB3]
node = Node1
port = 20003
flags = --nojournal --noprealloc

Now, we configure Replica Set (rs_test):

[replSet-rs_test]
members = MyDB1, MyDB2, MyDB3

Start instances

We start instances:

$ mongoSuite replSet start rs_test
Start replica set rs_test:
Start MyDB1 on Node1:
 + Done
Start MyDB2 on Node2:
 + Done
Start MyDB3 on Node2:
 + Done

Initializes Replica Set

$ mongoSuite replSet init rs_test
Check members of replica set rs_test:
Connect to all instances:
 + MyDB1:           Ok
 + MyDB2:           Ok
 + MyDB3:           Ok
Check all instances setName:
 + MyDB1:           Ok
 + MyDB2:           Ok
 + MyDB3:           Ok
Init replica set rs_test on MyDB3
Waiting configuration propagation:
 + MyDB1:           Ok
 + MyDB2:           Ok
 + MyDB3:           Ok
Waiting master instance:
 + Master:          MyDB1
rs_test ready for actions.

Check status:

$ mongoSuite replSet status rs_test
State of rs_test: Ok
 + Instances:       3
   - MyDB1 (localhost:20001): Ok
   - MyDB2 (localhost:20002): Ok
   - MyDB3 (localhost:20003): Ok
 + Masters:         MyDB1
 + Primaries:       MyDB1
 + Secondaries:     MyDB2, MyDB3

Test-it !

For test Replica Set, we put data on dbtest/coltest on primary instance and try to get-it on secondaries instances.

Primary (MyDB1):

$ mongo localhost:20001/dbtest
MongoDB shell version: 2.2.0
connecting to: localhost:20001/dbtest
rs_test:PRIMARY> db.coltest.insert({msg: "Hello World !"})

Secondaries (MyDB2 and MyDB3):

# MyDB2
$ mongo localhost:20002/dbtest
MongoDB shell version: 2.2.0
connecting to: localhost:20002/dbtest
rs_test:SECONDARY> rs.slaveOk()
rs_test:SECONDARY> db.coltest.find()
{ "_id" : ObjectId("515bee650082521e7e34b323"), "msg" : "Hello World !" }

# MyDB3
$ mongo localhost:20003/dbtest
MongoDB shell version: 2.2.0
connecting to: localhost:20003/dbtest
rs_test:SECONDARY> rs.slaveOk()
rs_test:SECONDARY> db.coltest.find()
{ "_id" : ObjectId("515bee650082521e7e34b323"), "msg" : "Hello World !" }