現在のMongodbでWiredTigerストレージエンジンが有効になっているかどうかはどうやって確認すればいいですか?
少なくとも以下の2つの方法で検証可能です:
1. Linux/OSXで以下のコマンドを実行する
もし1が返ってくるなら、それはWiredTigerをストレージエンジンにしたモンゴッドが現在のシステムで動作していることを意味します
2. Linux/OSXで以下のコマンドを実行する
返送メッセージにwiredTigerが含まれている場合、mongoはwiredTigerストレージエンジンが有効になっているMongodに接続されています。
注記もうWiredTigerのファイルパス – dbpathは有効化されており、デフォルトのmmapv1ストレージエンジンでは開くことができません例えば:
ac:mongodata maclean$ mongod --storageEngine wiredTiger --dbpath /Users/maclean/mongodata 2015-05-06T11:35:32.372+0800 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=4G,session_max=20000,eviction=(threads_max=4),statistics=(fast),log=( enabled=true,archive=true,path=journal,compressor=snappy),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), 2015-05-06T11:35:32.997+0800 I CONTROL [initandlisten] MongoDB 開始 : pid=16590 port=27017 dbpath=/Users/maclean/mongodata 64-bit host=ac.local 2015-05-06T11:35:32.998+0800 I CONTROL [initandlisten] db version v3.0.2 2015-05-06T11:35:32.998+0800 I CONTROL [initandlisten] git version: nogitversion 2015-05-06 T11:35:32.998+0800 I CONTROL [initandlisten] ビルド情報:Darwin yosemitevm.local 14.3.0 Darwin Kernel バージョン 14.3.0:2015年3月23日(月)11:59:05 PDT; root:xnu-2782.20.48~5/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49 2015-05-06T11:35:32.998+0800 I CONTROL [initandlisten] アロケーター:システム 2015-05-06T11:35:32.999+0800 I CONTROL [initandlisten] options: { storage: { dbPath: "/Users/maclean/mongodata", engine: "wiredTiger" } 2015-05-06T11:35:33.045+0800 I NETWORK [initandlisten]ポート27017で接続待ち
上記のように--storageEngine wiredTigerを有効にしていれば、通常通り動作します
MMAPV1エンジンを使用している場合はエラーが報告されます
ac:mongodata maclean$ mongod --storageEngine mmapv1 --dbpath /Users/maclean/mongodata 2015-05-06T11:36:34.037+0800 I STORAGE [initandlisten] 例外がinitAndListen: 28574でサーバーを起動できません。 ストレージエンジン「wiredTiger」によって作成された/Users/maclean/mongodataのデータファイルを検出しました。 設定されたストレージエンジンは「mmapv1」で終了します。 2015-05-06T11:36:34.037+0800 I CONTROL [initandlisten] dbexit: rc: 100
|