Mongodb--gridfs与分片实验
1.放置一个大文件到gridfs,查看fs.chunks和fs.files的情况.
Step1.开启一台mongod服务.
./mongod --dbpath dbs/master
登录mongo查看数据库中fs.files和fs.chunks的情况:
Db.fs.chunks.find()后刷屏:
2. 实施分片,验证分片成功,抓图实验过程
首先.配置数据库目录,config,node1,node2,node3.
Step1.启动configureserver.
Step2.启动mongos
./mongs --port 3000 --configdb localhost:20000
Step3.启动分片的结点:
mongod --dbpath ./dbs/node1 --port 10000 --nojournal
mongod --dbpath ./dbs/node2 --port 10001 --nojournal
mongod --dbpath ./dbs/node3 --port 10002 --nojournal
通过客户端登录添加分片
mongo localhost:3000/admin
db.runCommand({addshard :"localhost:10000", allowLocal : true})
db.runCommand({addshard :"localhost:10001", allowLocal : true})
db.runCommand({addshard :"localhost:10002", allowLocal : true})
对db,collections启动分片命令执行:
db.runCommand({"enablesharding" : "foo"})
db.runCommand({"shardcollection" : "foo.bar", "key" : {"_id" : 1}})
use config
db.shards.find()
打印分片的状态:
db.printShardingStatus()
插入一些数据进行测试;
db.bar.insert({"name":"yaoxiaohua"});
db.bar.insert({"name":"yaoxiaohua2"});
db.bar.insert({"name":"yaoxiaohua3"});
db.bar.insert({"name":"yaoxiaohua4"});
db.bar.insert({"name":"yaoxiaohua5"});
db.bar.insert({"name":"yaoxiaohua6"});
db.bar.insert({"name":"yaoxiaohua7"});
db.bar.insert({"name":"yaoxiaohua8"});
db.bar.insert({"name":"yaoxiaohua9"});
由于数据量较小,现在只分布在第一个分片上.