Mongodb 第二个碎片没有切分

Mongodb 第二个碎片没有切分,mongodb,sharding,Mongodb,Sharding,我用两个节点(两个不同的主机)设置了分片。我有650MB的表。我选择了年份作为切分键。我的数据是从2010年到2014年。我已将区块大小配置为默认值(64MB)。db.collection.stats的结果是 mongos>db.cTest.stats(1024*1024) { “碎片”:没错, “ns”:“dbTest.cTest”, “计数”:244000, “numExtents”:10, “尺寸”:93, “存储大小”:123, “TotalIndexize”:7, “索引化”:{ “_

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

mongos>db.cTest.stats(1024*1024)
{
“碎片”:没错,
“ns”:“dbTest.cTest”,
“计数”:244000,
“numExtents”:10,
“尺寸”:93,
“存储大小”:123,
“TotalIndexize”:7,
“索引化”:{
“_id_”:7
},
“avgObjSize”:0.0003811475409836066,
"九度指标":一,,
"nchunks":1,,
“碎片”:{
“shard001”:{
“ns”:“dbTest.cTest”,
“计数”:244000,
“尺寸”:93,
“avgObjSize”:0.0003811475409836066,
“存储大小”:123,
“numExtents”:10,
"九度指标":一,,
“lastExtentSize”:39,
“填充因子”:1,
“系统标志”:1,
“用户标志”:0,
“TotalIndexize”:7,
“索引化”:{
“_id_”:7
},
“好”:1
}
},
“好”:1
} 
我可以看到“sharded”值等于“true”,并且我的sh.status向我显示了结果

mongos>sh.stats
mongos>sh.状态()
---分片状态---
分片版本:{
“_id”:1,
“版本”:3,
"小外翻":3,,
“当前版本”:4,
“clusterId”:ObjectId(“53302f0d24ca08864d73449c”)
}
碎片:
{u id:“shard0000”,“host:“localhost:10001”}
{“_id”:“shard001”,“host”:“mongod0.net:10001”}
{“_id”:“shard002”,“host”:“mongod1.net:10002”}
数据库:
{“_id”:“admin”,“partitioned”:false,“primary”:“config”}
{“_id”:“dbTest”,“partitioned”:true,“primary”:“shard001”}
dbTest.cTest
分片键:{“年”:1}
块:
shard0001 1
{“年”:{“$minKey”:1}
-->>{“年”:{“$maxKey”:1}}on:shard001时间戳(1,0)
我不明白为什么shard2没有被填充。所选键为低基数1,数据的行数均匀分布


我在这里哪里可能出错?

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

但是如果我使用以下代码填充表,则从shard1开始::myData=“”;而(myData.length<200000)myData+=“我的mongodb分片数据”;对于(var num=0;num<5000;num++){db.cTest.save({myData:myData});}:::数据正在分割并移动到第二个碎片。