MongoDB Deployment

Deploy MongoDB on One VM

git clone https://github.com/llk2why/deploy_mongodb.git

Initialize

Initialize server setting, this is OPTIONAL.

# you should replace the "password" with your perferred password
sudo -i sh -c "$(env | grep ^HOME= | cut -c 6-)/deploy_mongodb/initialize.sh 0130 $(whoami)"

Deploy

Deploy Single Instance

tmux
sh -c "~/deploy_mongodb/deploy_single.sh"

Deploy Sharding

tmux
sh -c "~/deploy_mongodb/deploy.sh"

Sharding Strategy

# e.g. 
mongo --eval 'db.fs.chunks.createIndex({files_id:1,n:1})' images
mongo --eval 'sh.enableSharding("images")'
mongo --eval 'db.runCommand({shardCollection:"images.fs.chunks",key:{files_id:1,n:1}})' 

mongo --port --eval 27021 'show dbs'
mongo --port --eval 27022 'show dbs'
mongo --port --eval 27023 'show dbs'
mongo --port --eval 27024 'show dbs'
mongo --port --eval 27025 'show dbs'
mongo --port --eval 27026 'show dbs'
mongo --port --eval 27027 'show dbs'
mongo --port --eval 27028 'show dbs'

CLEAN

DO NOT RUN THESE COMMANDS CASUALLY

sh -c "~/deploy_mongodb/kill_process.sh"
sh -c "~/deploy_mongodb/clean_all.sh"