2017-05-04 7 views
0

私のLibreNMS監視ツールから、私の12 MongoDB(バージョン3.2.11)サーバーのmongoデーモンが問題を抱えているという通知を受けました。 10秒間接続する)。私はそれを無視してそれを待つことに決めた、私はちょうどそれが少し忙しいと仮定した。MongoDB - シャーディングmigrateThreadが12時間以上ランダムに実行中

数時間後、私はdb.currentOp()を実行したとき少し気になりました。私は、メッセージ「クエリが記録されていません(大きすぎます)」を含むカップルとともに、「ステップ2/5」というメッセージとともにmigrateThreadを実行していることがわかりました。

インターネット検索を行った後、データチャンクを他のサーバーに移行しているので、いくらかかかります。だから私はそれを中断したくないので、それを待つことにしました。そして、2TBのデータが生産現場で壊れてしまうことになりました。

今12時間が経過し、何が起こっているのか心配し始めています。まだ "ステップ2/5"になっていますが、プロセッサの負荷は非常に高いですが、まだチャンクを移動して新しいmigrateThreadオペレーションを生成するように見えます。

2017-05-04T19:08:14.203Z I SHARDING [migrateThread] starting receiving-end of migration of chunk { _id: -8858253000066304220 } -> { _id: -8857450400323294366 } for collection data.logs from mongo03:27017 at epoch 56f5410efed7ec477fb62e31 
2017-05-04T19:08:14.350Z I SHARDING [migrateThread] Deleter starting delete for: data.logs from { _id: -8858253000066304220 } -> { _id: -8857450400323294366 }, with opId: 2291391315 
2017-05-04T19:08:14.350Z I SHARDING [migrateThread] rangeDeleter deleted 0 documents for data.logs from { _id: -8858253000066304220 } -> { _id: -8857450400323294366 } 
2017-05-04T19:18:26.625Z I SHARDING [migrateThread] Waiting for replication to catch up before entering critical section 
2017-05-04T19:18:26.625Z I SHARDING [migrateThread] migrate commit succeeded flushing to secondaries for 'data.logs' { _id: -8858253000066304220 } -> { _id: -8857450400323294366 } 
2017-05-04T19:18:36.499Z I SHARDING [migrateThread] migrate commit succeeded flushing to secondaries for 'data.logs' { _id: -8858253000066304220 } -> { _id: -8857450400323294366 } 
2017-05-04T19:18:36.788Z I SHARDING [migrateThread] about to log metadata event into changelog: { _id: "mongo01-2017-05-04T21:18:36.788+0200-590b7e8c1bc38fe0dd61db45", server: "mongo01", clientAddr: "", time: new Date(1493925516788), what: "moveChunk.to", ns: "data.logs", details: { min: { _id: -8858253000066304220 }, max: { _id: -8857450400323294366 }, step 1 of 5: 146, step 2 of 5: 279, step 3 of 5: 611994, step 4 of 5: 0, step 5 of 5: 10162, note: "success" } } 
2017-05-04T19:19:04.059Z I SHARDING [migrateThread] starting receiving-end of migration of chunk { _id: -9090190725188397877 } -> { _id: -9088854275798899737 } for collection data.logs from mongo04:27017 at epoch 56f5410efed7ec477fb62e31 
2017-05-04T19:19:04.063Z I SHARDING [migrateThread] Deleter starting delete for: data.logs from { _id: -9090190725188397877 } -> { _id: -9088854275798899737 }, with opId: 2291472928 
2017-05-04T19:19:04.064Z I SHARDING [migrateThread] rangeDeleter deleted 0 documents for data.logs from { _id: -9090190725188397877 } -> { _id: -9088854275798899737 } 
2017-05-04T19:28:16.709Z I SHARDING [migrateThread] Waiting for replication to catch up before entering critical section 
2017-05-04T19:28:16.709Z I SHARDING [migrateThread] migrate commit succeeded flushing to secondaries for 'data.logs' { _id: -9090190725188397877 } -> { _id: -9088854275798899737 } 
2017-05-04T19:28:17.778Z I SHARDING [migrateThread] migrate commit succeeded flushing to secondaries for 'data.logs' { _id: -9090190725188397877 } -> { _id: -9088854275798899737 } 
2017-05-04T19:28:17.778Z I SHARDING [migrateThread] about to log metadata event into changelog: { _id: "mongo01-2017-05-04T21:28:17.778+0200-590b80d11bc38fe0dd61db46", server: "mongo01", clientAddr: "", time: new Date(1493926097778), what: "moveChunk.to", ns: "data.logs", details: { min: { _id: -9090190725188397877 }, max: { _id: -9088854275798899737 }, step 1 of 5: 3, step 2 of 5: 4, step 3 of 5: 552641, step 4 of 5: 0, step 5 of 5: 1068, note: "success" } } 
2017-05-04T19:28:34.889Z I SHARDING [migrateThread] starting receiving-end of migration of chunk { _id: -8696921045434215002 } -> { _id: -8696381531400161154 } for collection data.logs from mongo06:27017 at epoch 56f5410efed7ec477fb62e31 
2017-05-04T19:28:35.134Z I SHARDING [migrateThread] Deleter starting delete for: data.logs from { _id: -8696921045434215002 } -> { _id: -8696381531400161154 }, with opId: 2291544986 
2017-05-04T19:28:35.134Z I SHARDING [migrateThread] rangeDeleter deleted 0 documents for data.logs from { _id: -8696921045434215002 } -> { _id: -8696381531400161154 } 

だから、それはデータを移行するために非常に長い時間がかかっている:私は以下を参照してくださいmongod.logをチェックすると

 { 
     "desc" : "migrateThread", 
     "threadId" : "139962853246720", 
     "active" : true, 
     "opid" : -2003494368, 
     "secs_running" : 408, 
     "microsecs_running" : NumberLong(408914923), 
     "op" : "none", 
     "ns" : "data.logs", 
     "query" : { 

     }, 
     "msg" : "step 2 of 5", 
     "numYields" : 0, 
     "locks" : { 
      "Global" : "w", 
      "Database" : "w", 
      "Collection" : "w" 
     }, 
     "waitingForLock" : false, 
     "lockStats" : { 
      "Global" : { 
       "acquireCount" : { 
        "r" : NumberLong(37984), 
        "w" : NumberLong(37982) 
       } 
      }, 
      "Database" : { 
       "acquireCount" : { 
        "r" : NumberLong(1), 
        "w" : NumberLong(37981), 
        "W" : NumberLong(1) 
       }, 
       "acquireWaitCount" : { 
        "W" : NumberLong(1) 
       }, 
       "timeAcquiringMicros" : { 
        "W" : NumberLong(1446) 
       } 
      }, 
      "Collection" : { 
       "acquireCount" : { 
        "r" : NumberLong(1), 
        "w" : NumberLong(37980), 
        "W" : NumberLong(1) 
       }, 
       "acquireWaitCount" : { 
        "W" : NumberLong(1) 
       }, 
       "timeAcquiringMicros" : { 
        "W" : NumberLong(3224) 
       } 
      } 
     } 
    }, 
    { 
     "desc" : "conn451221", 
     "threadId" : "139962959451904", 
     "connectionId" : 451221, 
     "client" : "10.0.0.111:57408", 
     "active" : true, 
     "opid" : -2003439364, 
     "secs_running" : 0, 
     "microsecs_running" : NumberLong(37333), 
     "op" : "insert", 
     "ns" : "data.logs", 
     "query" : { 
      "$msg" : "query not recording (too large)" 
     }, 
     "numYields" : 0, 
     "locks" : { 
      "Global" : "w", 
      "Database" : "w", 
      "Collection" : "w" 
     }, 
     "waitingForLock" : false, 
     "lockStats" : { 
      "Global" : { 
       "acquireCount" : { 
        "r" : NumberLong(1), 
        "w" : NumberLong(1) 
       } 
      }, 
      "Database" : { 
       "acquireCount" : { 
        "w" : NumberLong(1) 
       } 
      }, 
      "Collection" : { 
       "acquireCount" : { 
        "w" : NumberLong(1) 
       } 
      } 
     } 
    }, 

は、ここに私のcurrentOp()ログの一部です。それは私が心配すべき何かですか?私は何か措置を取るか、それを残してそれを待つべきか?

わかりましたが、自分でマイグレーションを開始しませんでした。それはすべてそれ自身で起こった。だから私はちょっと混乱している。

助けてください!

答えて

0

それはそれ自体を解決し、ちょうど長い間待たなければならなかった。その後、他のサーバーは "RangeDeleter"操作を開始しましたが、現在はすべて正常に動作しています。

関連する問題