欢迎来到天天文库
浏览记录
ID:38165857
大小:52.89 KB
页数:23页
时间:2019-06-06
《MongoDB分片》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MongoDB之sharding【一】1、启动相关进程 在shardserver上启动mongod,使用--shardsvr命令行参数。对于主从对,使用--pairwith命令行选项。建议一个shardserver只运行一个mongod进程。在configserver上启动mongod,使用--configsvr命令行参数。如果configserver不是一台独立的服务器,为其分配一个独立的dbpath,--dbpath命令行参数。启动mongos,使用--configdb参数指明配置的数据库地址。2、shell配置分片 在启动好的mongos服务器上运行这些命令,然后通过它运行所有的
2、配置命令。注:应该使用特定的admin数据库来存储这些命令,尽管通过mongos运行时,数据会存储在configserver上,所以在集群的生命周期内这些命令只需运行一次即可。./mongo:/admin>dbadmin>3、增加一个分片,每个分片包括两台服务器(一对主从)或单机(Alpha2只支持单机)。>db.runCommand({addshard:"[:]"});{"ok":1,"added":...}多台配置用逗号分隔(alpha3及以上版本)。可选参数maxSize可用户设置该分
3、片可使用的磁盘空间,默认为整个磁盘。该参数目前1.4及1.4以前的版本是无效的,1.5版本及以后才会有效。>db.runCommand({listshards:1});查看已存在的分片。4、enable一个数据库,必须为分片enable一个数据库,否则数据将全被存在分片上。>db.runCommand({enablesharding:""});一旦enable了个数据库,mongos将会把数据库里的不同数据集放在不同的分片上。除非数据集被分片,否则一个数据集的所有数据将放在一个分片上。5、数据集分片,使用shardcollection命令分隔数据集,key自动生成。>db.ru
4、nCommand({shardcollection:"",key:})比如,分片测试数据库中的GridFS块集。>db.runCommand({shardcollection:"test.fs.chunks",key:{_id:1}}){"ok":1}配置shardkey唯一:db.runCommand({shardcollection:"test.users",key:{email:1},unique:true});6、相关操作命令,官方操作命令1)、db.createCollection(name,{size:...,ca
5、pped:...,max:...})创建非分布式数据集,相当于关系型数据库中的表,别看后面一堆参数,其实通常用的就db.createCollection(name)这个命令,比如db.createCollection(“coll_1”)。2)、db.coll_1.drop(),删数据集。3)、db.coll_1.ensureIndex({"id":1}),第一个参数为字段名,第二参数值为1则索引为升序;-1则为降序。db.coll_1.dropIndex(name)删除指定的索引;db.coll_1.dropIndexes()删除所有索引;db.coll_1.getIndexes()查看索引信
6、息。4)、db.coll_1.count(query);db.coll_1.find(query);db.coll_1.insert(obj);db.coll_1.update(query,object[,upsert_bool]);db.coll_1.save(obj);db.coll_1.remove(query)。query表达式的文档7、案例:两组分片(一组两台,一组一台)、三个configdb、一个mongos,一台测试服务器。首先建立数据库存放位置,这里只为测试,所以就在当前目录了,mkdirdata分别到mongodb的安装目录的bin/目录下启动mongodb$./mongod
7、--pairwith10.13.127.212:18020--dbpathdata--port18020 //启动第一组分片(10.13.127.211:18020)$./mongod--pairwith10.13.127.211:18020--dbpathdata--port18020 //启动第一组分片(10.13.127.212:18020)$./mongod--dbpathdata
此文档下载收益归作者所有