预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共23页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

MongoDB之sharding【一】1、启动相关进程在shardserver上启动mongod,使用--shardsvr命令行参数。对于主从对,使用--pairwith命令行选项。建议一个shardserver只运行一个mongod进程。 在configserver上启动mongod,使用--configsvr命令行参数。如果configserver不是一台独立的服务器,为其分配一个独立的dbpath,--dbpath命令行参数。 启动mongos,使用--configdb参数指明配置的数据库地址。 2、shell配置分片 在启动好的mongos服务器上运行这些命令,然后通过它运行所有的配置命令。注:应该使用特定的admin数据库来存储这些命令,尽管通过mongos运行时,数据会存储在configserver上,所以在集群的生命周期内这些命令只需运行一次即可。 ./mongo<mongos-hostname>:<mongos-port>/admin>dbadmin> 3、增加一个分片,每个分片包括两台服务器(一对主从)或单机(Alpha2只支持单机)。 >db.runCommand({addshard:"<serverhostname>[:<port>]"});{"ok":1,"added":...} 多台配置用逗号分隔(alpha3及以上版本)。 可选参数maxSize可用户设置该分片可使用的磁盘空间,默认为整个磁盘。该参数目前1.4及1.4以前的版本是无效的,1.5版本及以后才会有效。 >db.runCommand({listshards:1}); 查看已存在的分片。 4、enable一个数据库,必须为分片enable一个数据库,否则数据将全被存在分片上。 >db.runCommand({enablesharding:"<dbname>"}); 一旦enable了个数据库,mongos将会把数据库里的不同数据集放在不同的分片上。除非数据集被分片,否则一个数据集的所有数据将放在一个分片上。 5、数据集分片,使用shardcollection命令分隔数据集,key自动生成。 >db.runCommand({shardcollection:"<namespace>",key:<shardkeypatternobject>}) 比如,分片测试数据库中的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:...,capped:...,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()查看索引信息。 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--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)$./m