Mongodb将所有数据存储在一个分片中

时间:2018-06-21 07:43:05

标签: mongodb

我遵循documentation将副本集转换为分片。尽管执行了文档中提到的完全相同的过程,但是我得到了错误的输出。就像在文档中一样,我已经在收藏集中存储了一百万documents并创建了两个分片。

以下是我对db.stats()的输出:

{
    "raw" : {
            "rs1/localhost:40000,localhost:40001,localhost:40002" : {
                    "db" : "test",
                    "collections" : 0,
                    "views" : 0,
                    "objects" : 0,
                    "avgObjSize" : 0,
                    "dataSize" : 0,
                    "storageSize" : 0,
                    "numExtents" : 0,
                    "indexes" : 0,
                    "indexSize" : 0,
                    "fileSize" : 0,
                    "fsUsedSize" : 0,
                    "fsTotalSize" : 0,
                    "ok" : 1
            },
            "rs0/localhost:50000,localhost:50001,localhost:50002" : {
                    "db" : "test",
                    "collections" : 1,
                    "views" : 0,
                    "objects" : 1000000,
                    "avgObjSize" : 70.900298,
                    "dataSize" : 70900298,
                    "storageSize" : 24436736,
                    "numExtents" : 0,
                    "indexes" : 2,
                    "indexSize" : 23797760,
                    "fsUsedSize" : 13935333376,
                    "fsTotalSize" : 211647721472,
                    "ok" : 1
            }
    },
    "objects" : 1000000,
    "avgObjSize" : 70,
    "dataSize" : 70900298,
    "storageSize" : 24436736,
    "numExtents" : 0,
    "indexes" : 2,
    "indexSize" : 23797760,
    "fileSize" : 0,
    "extentFreeList" : {
            "num" : 0,
            "totalSize" : 0
    },
    "ok" : 1,
    "$clusterTime" : {
            "clusterTime" : Timestamp(1529487131, 1),
            "signature" : {
                    "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                    "keyId" : NumberLong(0)
            }
    },
    "operationTime" : Timestamp(1529487131, 1)

}

如您所见,只有rs0包含全部一百万个文档,而rs1为空。为什么会这样?我应该怎么做才能使文档均匀地分布在分片中?

一些帖子提到这可能是由于分片密钥选择不当,但是我使用了与文档中提到的密钥相同的密钥,所以这应该不是问题。

0 个答案:

没有答案