mongoDB分片群集和块

时间:2015-01-23 15:47:01

标签: mongodb

我是mongoDB上的新手,我想知道如果我在mongodb分片群集中没有任何块,这是否正常?

让我说明一下。我有三个碎片:

mongos> use config
mongos> db.getSiblingDB("config").shards.find()
{ "_id" : "shard1", ... }
{ "_id" : "shard2", ... }
{ "_id" : "shard3", ... }
mongos>

我有一些数据库,特别是一个关于shard1的数据库:

mongos> db.getSiblingDB("config").databases.find()
{ "_id" : "udev_prod", "partitioned" : false, "primary" : "shard1" }

但根本没有任何块......:

mongos> db.getSiblingDB("config").chunks.find()
mongos>

最重要的是,如果我连接到udev_prod数据库并尝试获取任何集合的分片,mongoDB告诉我它没有分片......

mongos> db.User.getShardDistribution()
Collection udev_prod.User is not sharded.

我认为我在这里遗漏了一些东西,或者它运作不正常......有人可以告诉我这种情况是否正常" ?

非常感谢

最好的问候

于连

1 个答案:

答案 0 :(得分:1)

这是您在数据库中找到的关键部分:

"partitioned" : false

这意味着数据库没有启用分片。首先需要enable sharding为数据库,然后在创建任何块之前shard a collection(和pick a shard key)。否则,数据库只存在于一个分片上 - 它仍然可用,只是没有分片。

有一个完整的教程可用于设置带有分片集的分片群集,this is the section您想要开始。