第二个碎片没有发生分片

时间:2014-03-24 13:36:46

标签: mongodb sharding

我已经设置了两个节点(两个不同的主机)的分片。我有650 MB的桌子。我选择了Year作为Sharding键。我的数据从2010年到2014年有多年。我已将我的块大小配置为默认值(64 MB)。 db.collection.stats的结果是

mongos> db.cTest.stats(1024 * 1024) 
{
       "sharded" : true,
       "ns" : "dbTest.cTest",
       "count" : 244000,
       "numExtents" : 10,
       "size" : 93,
       "storageSize" : 123,
       "totalIndexSize" : 7,
       "indexSizes" : {
               "_id_" : 7
       },
       "avgObjSize" : 0.0003811475409836066,
       "nindexes" : 1,
       "nchunks" : 1,
       "shards" : {
               "shard0001" : {
                       "ns" : "dbTest.cTest",
                       "count" : 244000,
                       "size" : 93,
                       "avgObjSize" : 0.0003811475409836066,
                       "storageSize" : 123,
                       "numExtents" : 10,
                       "nindexes" : 1,
                       "lastExtentSize" : 39,
                       "paddingFactor" : 1,
                       "systemFlags" : 1,
                       "userFlags" : 0,
                       "totalIndexSize" : 7,
                       "indexSizes" : {
                               "_id_" : 7
                       },
                       "ok" : 1
               }
       },
       "ok" : 1 
} 

我可以看到"分片" value等于" true"我的sh.status向我展示了结果

mongos> sh.stats
mongos> sh.status()
--- Sharding Status ---
sharding version: {
    "_id" : 1,
    "version" : 3,
    "minCompatibleVersion" : 3,
    "currentVersion" : 4,
    "clusterId" : ObjectId("53302f0d24ca08864d73449c")
}
shards:
    {  "_id" : "shard0000",  "host" : "localhost:10001" }
    {  "_id" : "shard0001",  "host" : "mongod0.net:10001" }
    {  "_id" : "shard0002",  "host" : "mongod1.net:10002" }
databases:
    {  "_id" : "admin",  "partitioned" : false,  "primary" : "config" }
    {  "_id" : "dbTest",  "partitioned" : true,  "primary" : "shard0001" }
            dbTest.cTest
                    shard key: { "Year" : 1 }
                    chunks:
                            shard0001       1
                    { "Year" : { "$minKey" : 1 } } 
                         -->> { "Year" : { "$maxKey" : 1 } } on : shard0001 Timestamp(1, 0)

我没有明白为什么shard2没有被填充。所选键是低基数1,行数均匀分布在数据中。

我可能在哪里出错?

1 个答案:

答案 0 :(得分:0)

尝试强制在mongo shell上使用sh.splitAt