mongodb分片块无法正常工作

时间:2016-07-07 16:13:29

标签: mongodb sharding

我有一个集合在2个分片rs01rs02

上按ID键启用分片

今天我在群集中添加了一个新的分片rs03。 我已按sh.status()检查了平衡器状态,如下所示:

shards:
    {  "_id" : "rs01",  "host" : "rs01/mongo30-01:27017,mongo30-02:27017" }
    {  "_id" : "rs02",  "host" : "rs02/mongo30-03:27017,mongo30-04:27017" }
    {  "_id" : "rs03",  "host" : "rs03/mongo30-05:27017,mongo30-06:27017" }
  balancer:
    Currently enabled:  yes
    Currently running:  yes

并且一些块已经迁移到rs03

{  "_id" : "myDB",  "partitioned" : true,  "primary" : "rs01" }
    myDB.myCo
        shard key: { "_id" : 1 }
        chunks:
            rs01    20027
            rs02    19532
            rs03    8

我发现我在rs03上设置的内存太少了。 我在mongod上停止了rs03服务,添加了内存并在重启后启动它。

几个小时后,我发现迁移的块仍然是8。 我通过rs03检查了db.currentOp()主要操作,如下所示:

{
  "inprog": [
    {
      "desc": "migrateThread",
      "threadId": "0x22677e00",
      "opid": 206642,
      "active": true,
      "secs_running": 19754,
      "microsecs_running": NumberLong("19754679731"),
      "op": "none",
      "ns": "myDB.myCo",
      "query": {

      },
      "msg": "step 2 of 6",
      "numYields": 0,
      "locks": {

      },
      "waitingForLock": false,
      "lockStats": {
        "Global": {
          "acquireCount": {
            "r": NumberLong("662"),
            "w": NumberLong("660")
          }
        },
        "Database": {
          "acquireCount": {
            "r": NumberLong("1"),
            "w": NumberLong("659"),
            "W": NumberLong("1")
          }
        },
        "Collection": {
          "acquireCount": {
            "r": NumberLong("1"),
            "w": NumberLong("330"),
            "W": NumberLong("1")
          }
        },
        "oplog": {
          "acquireCount": {
            "w": NumberLong("328")
          }
        }
      }
    },

opid保持为" 6"的第2步;好几个小时 我可以做些什么来进行迁移? 我试图杀死opid,它仍然再次分叉" 6"的第2步现在。 sh.status()中的数据块仍为8

0 个答案:

没有答案