web-dev-qa-db-ja.com

Ubuntuで「mongod WiredTiger」?

wiredTigerMongoDBのサービスとして使用できません。

私はこのステップバイステップガイドに従いました。
http://docs.mongodb.org/manual/release-notes/3.0-upgrade/

ステップ-1:3.0 mongodを起動します。
ステップ2:mongodumpを使用してデータをエクスポートします。 OK
ステップ-3:WiredTigerのデータディレクトリを作成します。 OK-ユーザー権限が調整されました。
ステップ4:WiredTigerでmongodを再起動します。 OK

mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath>
そして、はい、mongodは機能しました。しかし、Step-5は、「エクスポートされたデータをmongorestoreを使用してアップロードする」と述べています。ただし、最後のコマンドにはservice mongod startなどのサービスが含まれていないため、コンソールはビジーのままで、「ポート27017での接続を待機しています」と表示されます。

次に、/etc/mongod.confファイルを編集してサービスとして実行してみました。しかし、私はできませんでした。私はwiredTigerディレクトリをdbpathとして追加しましたが、dbディレクトリの権限を変更するコードが含まれているため、/etc/init/mongod.confファイルを編集する必要があると思います。

8時間を費やした後、十分な資料がないと思いますので、お願いします。
wiredTigerをMongoDBで使用できるようにするにはどうすればよいですか?
これを成し遂げた人がいるのだろうか?

コンソール enter image description here

2015-04-01で編集:試しました change-storage-engine-to-wiredtiger ドキュメントにあるセクション。

5
efkan

私は、MongoDBをアップグレードするWiredTigerを使用できませんでした。ただし、May 17でMongoDB 2.6をアンインストールしてから、MongoDB 3.0.3をインストールしました。インストール直後に、mongod.confファイルの上にstorageEngine=wiredTigerを追加しました。それから私はSudo service mongod startコマンドを与えました、そして最終的に私はそれができました。


編集:

公式ドキュメント の指示に従って新規インストールした場合。

  1. Sudo nano /etc/mongod.confを使用して構成ファイルを開く
  2. 以下のように# engine行をengine: wiredTigerに変更します
  3. コマンドSudo service mongod startを使用してmongodを実行します

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
  engine: wiredTiger
#  mmapv1:
#  wiredTiger:

編集:

現在のバージョンがサポートされている場合は、wiredTiger;

  1. mongodump コマンドを使用して、現在のデータベースのバックアップを取得します
  2. Sudo service mongod stopコマンドを使用してmongodサービスを停止します
  3. storageEngine=wiredTigerテキストをmongod.confファイルの最初の行として追加します
  4. /var/lib/mongodb(または使用されている場合は/data/dbフォルダ)のすべてのファイルを削除します
    [これは重要。 MongoDBは現在のMMAP dbファイルをwiredTiger形式に変換できないため]
  5. Sudo service mongod startコマンドを使用してmongodサービスを開始します
  6. [mongorestore] [2]コマンドを使用して、バックアップからデータベースを復元します
  7. ワイヤードタイガーが使用されています...
3
efkan

Ubuntuで2.6を3.0に移行し、新しいWiredTigerストレージエンジンを使用する手順:

  1. 現在のデータベースをバックアップ:

    mongodump --out final_2.6_backup

  2. Mongodbサービスを停止します。

    service mongodb stop

  3. 現在のデータベースファイルを削除します。

    rm -rf /var/lib/mongodb/*

  4. /etc/mongod.confを編集して、新しいストレージエンジンを使用します。

    storageEngine=wiredTiger

  5. Mongodbを起動します。

    service mongodb start

  6. データベースを復元します。

    mongorestore final_2.6_backup

1
Jzuijlek

私は、断片化されたクラスターでwiredTigerを使用しています。非表示のノードを各レプリカセットにロールインしてから、4番目のノードをセカンダリノードと交換する方が簡単だと思います。

次に、1。現在の4番目のノードでMongoDBサービスを停止します。2。新しいdbpathをポイントし、storageengineオプションをwiredTigerに設定して、サービスとしてインスタンスを再起動します。 3.ノードが同期するのを待ちます。 4.古いdbpathを削除します

すべてのノードが最新になるまで、この手順を繰り返します。

  • レプリカセットを使用していない場合、mongodumpとmongorestoreの使用に制限されているようです。これらのツールに依存するには、データが多すぎます。実行に時間がかかりすぎます。
0
SDillon