1. 单机启动mongodb : mongod --port 30000 --dbpath /data/db --logpath /data/logs/mongod.log --fork
2. 进入脚本 : mongo --nodb
3. 创建3个分片 : cluster = new ShardingTest({"shards" : 3, "chunksize" : 1}) // 正在运行的不要关,用另一个窗口连接执行下面的命令(如 SSH)
4. 进入test数据库 : db = (new Mongo("localhost:30000")).getDB("test") // mongos对应的port ????????????????????????? 不是30000,这个需要自己查一下 用 netstat -ntlp 查看线程,启动的端口可以挨着试一下
5. 插入数据 : for(var i=0; i<10000; i++) { db.usrs.insert({"username" : "user" + i, "created_at" : new Date()}); }
6. 查看插入条数 : db.users.count()
7. 查看状态 : sh.status()
8. 启用分片 : sh.enableSharding("test")
9. 选片键,建索引 : db.users.ensureIndex({"username" : 1})
10. 对集合分片 : sh.shardCollection("test.users", {"username" : 1})
11. 查看状态 : sh.status()
12. 查询 : db.usrs.find({"username" : "user1234"})
13. 查询过程查看 : db.users.find({"username" : "user1234"}).explain()
14. 无片键查询过程 : db.users.find().explain()
15. 关闭集群 : cluster.stop()
2. 进入脚本 : mongo --nodb
3. 创建3个分片 : cluster = new ShardingTest({"shards" : 3, "chunksize" : 1}) // 正在运行的不要关,用另一个窗口连接执行下面的命令(如 SSH)
4. 进入test数据库 : db = (new Mongo("localhost:30000")).getDB("test") // mongos对应的port ????????????????????????? 不是30000,这个需要自己查一下 用 netstat -ntlp 查看线程,启动的端口可以挨着试一下
5. 插入数据 : for(var i=0; i<10000; i++) { db.usrs.insert({"username" : "user" + i, "created_at" : new Date()}); }
6. 查看插入条数 : db.users.count()
7. 查看状态 : sh.status()
8. 启用分片 : sh.enableSharding("test")
9. 选片键,建索引 : db.users.ensureIndex({"username" : 1})
10. 对集合分片 : sh.shardCollection("test.users", {"username" : 1})
11. 查看状态 : sh.status()
12. 查询 : db.usrs.find({"username" : "user1234"})
13. 查询过程查看 : db.users.find({"username" : "user1234"}).explain()
14. 无片键查询过程 : db.users.find().explain()
15. 关闭集群 : cluster.stop()