单节点快速测试
if( undefined == easy_install )
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
easy_install pymongo
python sharding/simple-setup.py --path=/usr/bin
/* 此处一定要写绝对路径,simple-setup.py会启动一个mongos进程,占用端口27017 */
设置配置服务器
db-center01# mongod
db-center02# mongod
...
/* 在每个数据中心启动mongod */
启动mongos,数据库集群请求的入口,每个应用服务器一个
app01# mongos --configdb db-center01, db-center02, ...
app02# mongos --configdb db-center01, db-center02, ...
...
/* 这样使mongos能找到配置服务器 */
启动分片
$ mongo app01:27017/db_name
> db.runCommand({"addShard": "host:port", "name": "shard_name"})
/* 单节点分片 */
> db.runCommand({"addShard": "rs/rs01, rs02", "name": "shard_name", "maxSize": "20000"})
/*
rs为承载这个分片的副本集,rs01为副本集的一个成员,
这里要写出至少一个成员,mongos能推断出其他成员,
maxSize单位为MB,此参数为建议值并非规定
*/
> db.adminCommand({"enableSharding": "db_name"})
> db.adminCommand({"shardCollection": "db.table", "key": {"key1": 1, "key2": 1}})
移除分片
> db.runCommand({"removeShard": "shard_name"})