mogno集群

mongod--dbpathd:\mongodb\db\--port27021

mongod--dbpathc:\mongodb\db\--port27020

mongod--configsvr--dbpathe:\mongodb\db\--port27022

启动mongos的时候应将其连接到1个配置服务器上:

mongos--port30000--configdb127.0.0.1:20000--logpath"F:\mongo\logs\mongos\MongoDB.txt"

启动mongos的时候应将其连接到3个配置服务器上:

mongos--port30000--configdb127.0.0.1:20000,127.0.0.1:20001,127.0.0.1:20002--logpath"F:\mongo\logs\mongos\MongoDB.txt"

添加sharding,maxsize单位是M,此处设置比较小的数值只为演示sharding效果

db.runCommand({"addshard":"127.0.0.1:27018",name:"shard1",maxsize:2048,"allowLocal":true})

db.runCommand({"addshard":"127.0.0.1:27019",name:"shard2",maxsize:2048,"allowLocal":true})

注:如果要移除sharding,可用下面写法

db.runCommand({removeshard:"localhost:10000"});

查看shard节点列表

db.runCommand({listshards:1});

接下来创建相应数据库并设置其"可以sharding",新建自动切片的库user001:

config=connect("127.0.0.1:27020")

config=config.getSisterDB("config")

qnlbs=db.getSisterDB("qnlbs");

useadmin

db.runCommand({enablesharding:"qnlbs"})

注:一旦enable了个数据库,mongos将会把数据库里的不同数据集放在不同的分片上。除非数据集被分片(下面会设置),否则一个数据集的所有数据将放在一个分片上。

db.printShardingStatus();

db.runCommand({enablesharding:"qnmsg"});

db.runCommand({shardcollection:"qnlbs.user",key:{userID:1}})

db.runCommand({shardcollection:"qnmsg.user",key:{_id:1}})

db.runCommand({"shardcollection":"test.refactor","key":{"name":1}})

db.pal.ensureIndex({"pk":1},{"pal":"pk_1","unique":true});

db.user.ensureIndex({"userID":1});

db.runCommand({shardcollection:"qnmsg.user",key:{_id:1}})

db.runCommand({shardcollection:"qnmsg.pal"})

printShardingStatus()

db.pal.ensureIndex({"pal":1});

删除片操作

db.runCommand({"removeshard":"10.0.0.11:27011"});

相关推荐