MongoDB 3.0 introduit un nouveau moteur de stockage appelé wiredTiger
qui se traduit par une utilisation considérablement réduite de la mémoire et de l'espace disque.
Étant donné que ma base de données compte actuellement environ 20 millions d'objets et utilise jusqu'à 70 Go de RAM, cette mise à jour arrive juste au bon moment pour reporter une mise à jour matérielle.
Comment migrez-vous une installation existante de MongoDB 2.6 vers 3.0 et bénéficiez en même temps des avantages de wiredTiger?
La documentation fait référence aux options qui entraînent des erreurs de démarrage qui empêchent MongoDB de démarrer. De plus, les emplacements des fichiers ne correspondent pas à ceux d'Ubuntu (Server 14.04 LTS).
Réponses:
Dans les installations par défaut, le fichier de configuration se trouve à
/etc/mongod.conf
. Ce que les documents MongoDB ne mentionnent pas, c'est que lors de la migration vers WiredTiger, nous devons également mettre à jour le fichier de configuration au nouveau format YAML introduit en 2.6.Autant que je sache, l'
engine
option n'est disponible que dans le nouveau format de configuration.La migration à partir de l'ancien moteur de stockage consiste à créer un vidage de base de données, à arrêter mongodb, à modifier les paramètres, puis à importer le vidage dans le nouveau moteur de stockage.
Créez une sauvegarde. Sérieusement. Nous avons besoin d'un vidage de base de données que nous importerons ensuite dans le nouveau moteur de base de données:
Arrêtez le service mongodb
Déplacez les données de l'emplacement actuel vers un autre emplacement (MongoDB ne démarre pas si le répertoire de données contient des fichiers générés par l'ancien moteur de stockage).
Mettez à niveau MongoDB vers la version 3.0 (depuis http://docs.mongodb.org/v3.0/tutorial/install-mongodb-on-ubuntu/ ):
Convertissez le fichier de configuration de l'ancien (antérieur à 2.6) au format YAML actuel. Le strict minimum est:
Assurez-vous qu'aucune ligne de l'ancien format ne reste, sinon MongoDB ne démarrera pas.
La documentation complète du fichier de configuration est disponible à l' adresse : http://docs.mongodb.org/v3.0/reference/configuration-options/
Effectuez éventuellement une sauvegarde du journal:
Redémarrez mongodb
Chargez la sauvegarde pour convertir les données vers un nouveau moteur de stockage
Après avoir vérifié que toutes vos données sont correctes, vous pouvez supprimer le répertoire avec l'ancien format de données
Notez que pour les jeux de réplicas et les clusters fragmentés, il existe certaines étapes supplémentaires: http://docs.mongodb.org/v3.0/release-notes/3.0-upgrade/?_ga=1.86531032.1131483509.1428671022#change-replica-set-storage -moteur-à-filaire
la source
En utilisant l' ancien format de fichier de configuration , j'ai réussi avec:
la source