Amazon EC2 の mongoDB データベースにデータを保存しようとしています。EC2 インスタンスの構成と起動に starcluster を使用しています。/root/data にマウントされた EBS ボリュームがあります。hereの指示に従ってmongoDBをインストールしました。EC2 インスタンスにログインすると、 と入力できます。mongo
これにより、データベースを含む mongo シェルが表示されtest
ます。次に、いくつかのデータをデータベースに追加しました。たとえばdatabase1
、さまざまなコレクションが含まれています。を使用して EC2 インスタンスを終了して終了しstarcluster terminate mycluster
、新しい別のインスタンスを作成するとdatabase1
、mongo シェルにデータが表示されなくなります。
/etc/mongodb.conf
ファイル内の dbpath を EBS ボリュームである に変更してから、 および を使用してサービスを開始および停止しようとしまし/root/data/mongodb
た。その後、もう一度試して受け取りますmongodb
sudo service mongodb stop
sudo service mongodb start
mongo
MongoDB shell version: 2.2.2
connecting to: test
Sat Jan 19 21:27:42 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed
追加の問題は、EC2 インスタンスを終了すると、構成ファイルに加えた変更が消えることです。
したがって、私の基本的な質問は、1 つの EC2 インスタンスを終了してから別の EC2 インスタンスを開始したときにデータが残るように、mongoDB が EC2 上のデータを保存する場所を変更するにはどうすればよいかということです。
編集:
最初の答えに応じて:
- ディレクトリは存在します
- に所有者を変更しました
mongodb
- 次に、コマンドを発行しました
sudo service mongodb stop
- を使用してポートが解放されているかどうかを確認
netstat -anp | grep 27017
。出力はありませんでした。 - を使用してmongodbを再起動しました
sudo service mongodb start
- ポート 27017 を再度確認しましたが、何も出力されません。
- mongo シェルに接続しようとしたところ、同じエラー メッセージが表示されました。
mongodb.conf
元の設定に戻し、上記の手順でmongodbを再起動し、再度接続を試みました。同じエラー。
EBS ボリュームは、各起動時に再接続されるように starcluster 構成で構成されます。