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