在上一篇blog中,大概把集群搭建起来了。在这片文章主要是讲在集群搭建之后,操作的常见命令。
首先连接路由节点
./mongo 172.17.253.217:30000/wallet
1、让数据库支持分片
mongos> db.runCommand({enablesharding:"wallet"})
{ "ok" : 1 }
通过执行以上命令,可以让数据库跨shard,如果不执行这步,数据库只会存放在一个shard,一旦激活数据库分片,数据库中不同的collection将被存放在不同的shard上,但一个collection仍旧存放在同一个shard上,要使单个collection也分片,还需单独对collection作些操作
2、让Collection支持分片
要使单个collection也分片存储,需要给collection指定一个分片key,通过以下命令操作:
> db.runCommand( { shardcollection : “<namespace>”,key : <shardkeypatternobject> });
注:
a. 分片的collection系统会自动创建一个索引(也可用户提前创建好)
b. 分片的collection只能有一个在分片key上的唯一索引,其它唯一索引不被允许
One note: a sharded collection can have only one unique index, which must exist on the shard key. No other unique indexes can exist on the collection.
mongos> db.runCommand({shardcollection:"wallet.order",key:{id:1}})
{ "collectionsharded" : "wallet.order", "ok" : 1 }
3、现在你需要在刚才指定dbname和tablename插入一定数量的数据。测试集群:
for (var i = 1; i <= 2000000; i++) db.order.save({id:i,value1:"1234567890"});