2017-05-04 2 views
0

vor 12 Stunden Ich erhielt eine Benachrichtigung von meinem LibreNMS-Überwachungstool, dass der Mongo-Daemon auf einem meiner 12 MongoDB (Version 3.2.11) Server Probleme hatte (mehr als 10 Sekunden zum Verbinden). Ich beschloss, es zu ignorieren und abzuwarten, ich nahm an, dass es ein wenig beschäftigt war.MongoDB - Sharding migrateThread wird zufällig für mehr als 12 Stunden ausgeführt

Ein paar Stunden später wurde ich ein bisschen besorgt, als ich lief db.currentOp(). Ich sah, dass eine Operation ausgeführt wurde migrateThread mit der Nachricht "Schritt 2 von 5" zusammen mit ein paar Einfügungen mit der Nachricht "Abfrage nicht aufzeichnen (zu groß)".

Nachdem ich einige Internet-Suche gemacht habe, sah ich, dass es einige nehmen kann, wie es Datenblöcke zu den anderen Servern migriert. Also habe ich beschlossen, es abzuwarten, da ich es nicht unterbrechen möchte und am Ende 2 TB Daten in einer Produktionsinstanz beschädigt haben.

Jetzt sind 12 Stunden vergangen und ich mache mir Sorgen, was los ist. Es ist immer noch in "Schritt 2 von 5", die Prozessorlast ist sehr hoch, aber es scheint immer noch Teile zu bewegen und neue migrateThread-Operationen zusammen mit vielen "Abfrage nicht aufzeichnen (zu groß)" -Einfügungen hervorzubringen.

Hier ist ein Teil meines currentOp() 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) 
       } 
      } 
     } 
    }, 

Wenn ich mongod.log überprüfen Ich sehe folgendes:

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 } 

So ist es eine sehr lange Zeit zu nehmen, um die Daten zu migrieren. Soll ich mir Sorgen machen? Sollte ich etwas unternehmen oder es einfach lassen und abwarten?

Nur um klar zu sein, ich habe selbst keine Migration gestartet. Es ist ganz von alleine passiert. Deshalb bin ich etwas verwirrt.

Bitte helfen!

Antwort

0

Es löste sich selbst, musste nur lange warten. Die anderen Server starteten danach mit den "RangeDeleter" -Operationen und jetzt scheint alles gut zu laufen.

Verwandte Themen