Easiest way to create MongoDB Cluster in MacOS
An easiest way to create mongodb cluster in MacOs environment.
These steps can be executed one after the other in Mac Terminal.
Note: Make sure that the folders paths are correct before running these commands.
Create Initial directories required for mongo db cluter
cd /Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data
mkdir replica1 replica2 replica3 replica4 replica5 replica6 replica7 replica8 replica9 config1 config2 config3
Sudo chmod –R 777 repl*
Sudo chmod –R 777 conf*
shard1
./mongod –dbpath=/Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data/replica1 –port=27011 –bind_ip_all –replSet=replica1 –shardsvr
./mongod –dbpath=/Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data/replica2 –port=27012 –bind_ip_all –replSet=replica1 –shardsvr
./mongod –dbpath=/Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data/replica3 –port=27013 –bind_ip_all –replSet=replica1 –shardsvr
rs.initiate({_id:”replica1″,members:[{“_id”:1,”host”:”localhost:27011″}]})
rs.add(“localhost:27012”)
rs.add(“localhost:27013”)
shard2
./mongod –dbpath=/Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data/replica4 –port=27021 –bind_ip_all –replSet=replica2 –shardsvr
./mongod –dbpath=/Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data/replica5 –port=27022 –bind_ip_all –replSet=replica2 –shardsvr
./mongod –dbpath=/Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data/replica6 –port=27023 –bind_ip_all –replSet=replica2 –shardsvr
rs.initiate({_id:”replica2″,members:[{“_id”:1,”host”:”localhost:27021″}]})
rs.add(“localhost:27022”)
rs.add(“localhost:27023”)
Shard 3
./mongod –dbpath=/Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data/replica7 –port=27031 –bind_ip_all –replSet=replica3 –shardsvr
./mongod –dbpath=/Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data/replica8 –port=27032 –bind_ip_all –replSet=replica3 –shardsvr
./mongod –dbpath=/Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data/replica9 –port=27033 –bind_ip_all –replSet=replica3 –shardsvr
rs.initiate({_id:”replica3″,members:[{“_id”:1,”host”:”localhost:27031″}]})
rs.add(“localhost:27032”)
rs.add(“localhost:27033”)
config
./mongod –dbpath=/Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data/config1 –port=27018 –bind_ip_all –replSet=config1 –configsvr
./mongod –dbpath=/Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data/config2 –port=27019 –bind_ip_all –replSet=config1 –configsvr
./mongod –dbpath=/Users/prabhu/Documents/softwares/mongodb-osx-x86_64-4.0.6/bin/data/config3 –port=27020 –bind_ip_all –replSet=config1 –configsvr
rs.initiate({_id:”config1″,members:[{“_id”:1,”host”:”localhost:27018″}]})
rs.add(“localhost:27019”)
rs.add(“localhost:27020”)
Start Mongos with config cluster
./mongos –configdb=”config1/localhost:27018,localhost:27019,localhost:27020″ –port=27017 –bind_ip_all
Connect to Mongos Server
./mongod –port 27017
sh.addShard(“replica1/localhost27011”)
sh.addShard(“replica2/localhost27021”)
sh.addShard(“replica3/localhost27031”)
sharding Collection
sh.enableSharding(“shoppingdb”); // enable sharding for db
sh.shardCollection(“shoppingdb.Orders”,{_id:1},true); // shard the collection