MongoDB 3.0 führt eine neue Speicher-Engine namens ein, wiredTiger
die zu einer stark reduzierten Speicher- und Speicherplatznutzung führt.
Da sich meine Datenbank derzeit bei ~ 20 Millionen Objekten befindet und ~ 70 GB RAM verbraucht, kommt dieses Update genau zum richtigen Zeitpunkt, um ein Hardware-Update zu verschieben.
Wie migrieren Sie eine vorhandene Installation von MongoDB 2.6 auf 3.0 und profitieren gleichzeitig von den Vorteilen von wiredTiger?
Die Dokumentation bezieht sich auf Optionen, die zu Startfehlern führen, die den Start von MongoDB verhindern. Außerdem stimmen die Speicherorte der Dateien nicht mit denen in Ubuntu (Server 14.04 LTS) überein.
Antworten:
In Standardinstallationen befindet sich die Konfigurationsdatei unter
/etc/mongod.conf
. In den MongoDB-Dokumenten wird nicht erwähnt, dass bei der Migration zu WiredTiger auch die Konfigurationsdatei auf das in 2.6 eingeführte neue YAML-Format aktualisiert werden muss.Soweit ich das beurteilen kann, ist die
engine
Option nur im neuen Konfigurationsformat verfügbar.Die Migration von der alten Speicher-Engine besteht darin, einen Datenbank-Dump zu erstellen, mongodb herunterzufahren, Einstellungen zu ändern und den Dump dann in die neue Speicher-Engine zu importieren.
Erstellen Sie ein Backup. Ernsthaft. Wir benötigen einen Datenbankspeicherauszug, den wir dann in das neue Datenbankmodul importieren:
Stoppen Sie den Mongodb-Dienst
Verschieben Sie Daten vom aktuellen Speicherort an einen anderen Ort (MongoDB wird nicht gestartet, wenn das Datenverzeichnis Dateien enthält, die von der alten Speicher-Engine generiert wurden).
Aktualisieren Sie MongoDB auf Version 3.0 (von http://docs.mongodb.org/v3.0/tutorial/install-mongodb-on-ubuntu/ ):
Konvertieren Sie die Konfigurationsdatei von alt (vor 2.6) in das aktuelle YAML-Format. Das absolute Minimum ist:
Stellen Sie sicher, dass keine Zeilen im alten Format mehr vorhanden sind. Andernfalls wird MongoDB nicht gestartet.
Die vollständige Dokumentation für die Konfigurationsdatei finden Sie unter: http://docs.mongodb.org/v3.0/reference/configuration-options/
Optional können Sie eine Sicherungskopie des Protokolls erstellen:
Starten Sie mongodb neu
Laden Sie die Sicherung, um Daten in eine neue Speicher-Engine zu konvertieren
Nachdem Sie überprüft haben, ob alle Ihre Daten in Ordnung sind, können Sie das Verzeichnis mit dem alten Datenformat löschen
Beachten Sie, dass für Replikatsätze und Sharded-Cluster einige zusätzliche Schritte erforderlich sind: http://docs.mongodb.org/v3.0/release-notes/3.0-upgrade/?_ga=1.86531032.1131483509.1428671022#change-replica-set-storage -Motor-zu-Draht-Tiger
quelle
Mit dem alten Konfigurationsdateiformat hatte ich Erfolg mit:
quelle