MongoDB的分片
来源:互联网 发布:淘宝女款皮衣冬 编辑:程序博客网 时间:2024/05/21 13:11
一,分片
1,启动shard、config、mongos节点
(1),启动需要分片的节点
启动3个mongodb的实例
mongod --shardsvr --dbpath=/usr/local/mongodb/data1 --logpath=/usr/local/mongodb/log/data1.log --port=27081 --fork
mongod --shardsvr --dbpath=/usr/local/mongodb/data2 --logpath=/usr/local/mongodb/log/data2.log --port=27082 --fork
mongod --shardsvr --dbpath=/usr/local/mongodb/data3 --logpath=/usr/local/mongodb/log/data3.log --port=27083 --fork
(2),启动config
启动1个mongodb的实例,这里其实也是普通的DB,不过是新建了config库,里面保存了路由的信息
mongod --configsvr --dbpath=/usr/local/mongodb/config --logpath=/usr/local/mongodb/log/config.log --port=27001 --fork
(3),启动mongos
这里启动一个mongos进程,用来做数据的路由,访问的入口,而数据是保存在config里的。
mongos --configdb 10.1.2.197:27001 --logpath=/usr/local/mongodb/log/configdb.log --port=27002 --fork
也可以使用配置文件启动
(1),启动需要分片的节点
(2),启动config
(3),启动mongos
配置文件
2,配置分片
(1),进入mongos
mongo admin --port 27002
(2),用addshard添加到路由器中
db.runCommand({addshard:"10.1.2.197:27081"})
db.runCommand({addshard:"10.1.2.197:27082"})
db.runCommand({addshard:"10.1.2.197:27083"})
(3),指定分片的数据库
db.runCommand({"enablesharding":"userdb"})
(4),指定分片的键
db.runCommand({shardcollection:"userdb.order",key:{_id:1}})
3,查看状态
db.printShardingStatus()
第一:shards 从图中可以看到:分成三片了,shard0000、shard0001、shard0002。
第二:databases:partitioned表示是否分区,可以看到userdb已分区。
第三:chunks:分成了一段。都在shard0000。
db.order.stats()
4,测试
mongos> for(var i =1;i<10000;i++){ db.order.insert({id:100+i,name:"name"+i,age:i}) }
可以看到,自动分片的结果并不是平均的。
0 0
- mongodb 分片的思考
- mongodb的sharding(分片)
- Mongodb的分片部署
- mongodb 分片的思考
- (*)Mongodb的分片配置
- mongodb的分片
- mongoDB 分片的管理
- MongoDB的分片
- MongoDB的分片
- MongoDB的分片测试
- MongoDB分片的搭建
- MongoDB的分片集群
- mongodb的分片
- MongoDB的分片
- MongoDB:分片的配置
- mongoDB 分片的管理
- MongoDB:mongodb的分片技术
- Mongodb数据分片的实现
- apache+tomcat整合的好处与原理
- URL的常用方法
- 重写toString方法-日志
- 使用余弦定理计算两篇文章的相似性
- 关于eclipse的maven项目遇到的问题
- MongoDB的分片
- 深入理解G1垃圾收集器
- session cookie原理及应用
- discuz NT 在IIS7上部署后,503错误
- CentOS7 下安装mplayer的过程记录
- 运算符重载
- 单独编译Android源代码中的模块
- UI01程序的生命周期
- StringUtils.hasText(字符串)