/*
mongodb sharding cluster reference. http://www.linuxidc.com/Linux/2015-07/119597.htm http://my.oschina.net/costaxu/blog/196980 http://www.open-open.com/lib/view/open1418794710573.html http://www.csdn.net/article/2012-11-15/2811920-mongodb-quan-gong-lue http://www.lanceyan.com/tech/arch/mongodb_shard1.html http://my.oschina.net/zhzhenqin/blog/97268 *///use three machine
//ip infomation 192.168.21.1 (root/powerall) 192.168.21.2 192.168.21.3 //mongodb ip mapping 192.168.21.1 shard1 (27017) 192.168.21.2 config server(27019) mongos() 192.168.21.3 shard2 (27017) //download 3.0.7 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.7.tgz tar zxvf mongodb-linux-x86_64-3.0.7.tgz cp -rf mongodb-linux-x86_64-3.0.7 /usr/local/ //start configdb at 3 machine mkdir -p /data/mongodb/configdb #192.168.12.3 mkdir -p /data/mongodb/shard3 mkdir -p /data/mongodb/shardlog/ /usr/local/mongodb-linux-x86_64-3.0.7/bin/mongod -shardsvr -port 27017 -dbpath=/data/mongodb/shard3/ --storageEngine wiredTiger -logpath=/data/mongodb/shardlog/shard3.log --fork #192.168.12.1 mkdir -p /data/mongodb/shard1 chmod -R 777 /data/mongodb/shard1 mkdir -p /data/mongodb/shardlog/ /usr/local/mongodb-linux-x86_64-3.0.7/bin/mongod -shardsvr -port 27017 -dbpath=/data/mongodb/shard1/ --storageEngine wiredTiger -logpath=/data/mongodb/shardlog/shard1.log --fork #192.168.12.2 mkdir -p /data/mongodb/configdb /usr/local/mongodb-linux-x86_64-3.0.7/bin/mongod --configsvr --dbpath /data/mongodb/configdb --port 27019 /usr/local/mongodb-linux-x86_64-3.0.7/bin/mongos -configdb 192.168.21.2:27019 -port 30000 -chunkSize 100 -logpath=/data/mongos.log --fork /usr/local/mongodb-linux-x86_64-3.0.7/bin/mongo 192.168.21.2:27017/admin #add shard server db.runCommand({"addshard":"192.168.21.1:27017"}) db.runCommand({"addshard":"192.168.21.3:27017"}) #set db db.runCommand({"enablesharding": "foxconn"}) use foxconnxc #set up hash sh.shardCollection("foxconn.resume_meta_data",{_id:"hashed"}) db.printShardingStatus()//
use testdb db.runCommand({"enablesharding": "testdb"}) db.runCommand( { shardcollection : "testdb.table1",key : {id: 1} } ) for (var i = 1; i <= 100000; i++) db.table1.save({id:i,"test1":"testval1"});