MongoDB 3.0 では、と呼ばれる新しいストレージ エンジンが導入されwiredTiger
、メモリとディスク領域の使用量が大幅に削減されます。
私の DB には現在約 2,000 万個のオブジェクトがあり、約 70 GB の RAM を使用しているため、この更新はハードウェアの更新を延期するのにちょうど良いタイミングで行われます。
MongoDB 2.6 の既存のインストールを 3.0 に移行し、同時に wiredTiger の利点を得るにはどうすればよいでしょうか?
ドキュメントには、MongoDB の起動を妨げる起動エラーを引き起こすオプションが言及されています。また、ファイルの場所は Ubuntu (Server 14.04 LTS) のものと一致しません。
答え1
デフォルトのインストールでは、構成ファイルは にあります/etc/mongod.conf
。MongoDB のドキュメントには記載されていませんが、WiredTiger に移行する場合は、構成ファイルを 2.6 で導入された新しい YAML 形式に更新する必要もあります。
私の知る限り、このengine
オプションは新しい構成形式でのみ使用できます。
古いストレージ エンジンからの移行は、データベース ダンプを作成し、mongodb をシャットダウンし、設定を変更して、ダンプを新しいストレージ エンジンにインポートすることで構成されます。
バックアップを作成します。本当に。データベース ダンプが必要で、それを新しいデータベース エンジンにインポートします。
mongodump -d db_name /backup/path/
mongodbサービスを停止する
sudo service mongod stop
データを現在の場所から別の場所に移動します (データ ディレクトリに古いストレージ エンジンによって生成されたファイルが含まれている場合、MongoDB は起動しません)。
sudo mv /var/lib/mongodb /var/lib/mongodb_26/
MongoDBをバージョン3.0にアップグレード(Ubuntu に Mongodb をインストールする):
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list sudo apt-get update sudo apt-get install mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools
設定ファイルを古いバージョン (2.6 以前) から現在の YAML 形式に変換します。最低限必要なのは次のとおりです。
storage: dbPath: "/var/lib/mongodb" engine: wiredTiger systemLog: destination: file path: "/var/log/mongodb/mongod.log" logAppend: true net: bindIp: 127.0.0.1 port: 27017 # Enable the HTTP interface (Defaults to port 28017). http: enabled: false
古い形式の行が残っていないことを確認してください。残っていると MongoDB は起動しません。
構成ファイルの完全なドキュメントは次の場所にあります。http://docs.mongodb.org/v3.0/reference/configuration-options/
オプションでログのバックアップを作成します。
sudo mv /var/log/mongodb/mongod.log /var/log/mongodb/mongod_26.log
mongodbを再起動する
sudo service mongod start
バックアップをロードしてデータを新しいストレージエンジンに変換します
mongorestore /backup/location
すべてのデータが正常であることを確認した後、古いデータ形式のディレクトリを削除できます。
sudo rm -r /var/lib/mongodb_26/
レプリカ セットとシャード クラスターの場合は、追加の手順がいくつかあることに注意してください。http://docs.mongodb.org/v3.0/release-notes/3.0-upgrade/?_ga=1.86531032.1131483509.1428671022#change-replica-set-storage-engine-to-wiredtiger
答え2
使用方法古い設定ファイル形式、私は次のことに成功しました:
ストレージエンジン=有線タイガー