Ich habe versucht, einen Befehl db.repairDatabase() von einer Mongo-Shell auf einer gesunden, aber großen MongoDB-Datenbank auszuführen. Es lief für ungefähr 10 Stunden und es wurde immer noch nicht abgeschlossen. Zum Besseren oder Schlechteren habe ich Strg-C gedrückt, um es abzubrechen.MongoDB gesperrt nach abgebrochenem db.repairDatabase()? Wie zu öffnen?
Es scheint, dass der Cluster in einem gesperrten Zustand belassen wurde. Befehle wie „Show dbs“ alle nicht mit „Operation timed out“:
mongos> show dbs
2016-06-10T09:38:10.179-0400 E QUERY [thread1] Error: listDatabases failed:{ "code" : 50, "ok" : 0, "errmsg" : "Operation timed out" } :
[email protected]/mongo/shell/utils.js:25:13
[email protected]/mongo/shell/mongo.js:62:1
[email protected]/mongo/shell/utils.js:760:19
[email protected]/mongo/shell/utils.js:650:15
@(shellhelp2):1:1
Es wird nun für etwa 10 Stunden mehr so gewesen, nachdem ich die db.repairDatabase getötet().
Was ist der richtige Weg, um davon zu erholen?
Meine Cluster-Info: Ich verwende MongoDB 3.2.5 überall. Ich habe 3 Konfig-Server, 11 Shards, jeder Shard ist ein Replikat-Set bestehend aus 2 Knoten und einem Arbiter. Und ich habe ungefähr 40 Knoten, die mongos Instanzen laufen lassen. Die 3 Konfigurationsserver sind immer noch 3.0-Stil (noch nicht auf Replikat-Set upgegraded).