4

ec2 で mongodb と nodejs を使用していますが、1 日 10,000 リクエストをサポートするためにデプロイしたいと考えています。インスタンスが終了または再起動 (?) した場合に、データベースが失われないようにしたいと考えています。データを保存するために EBS ボリュームを作成する必要があることを理解しています。

http://www.mongodb.org/display/DOCS/Amazon+EC2+Quickstart#AmazonEC2Quickstart-ConfigureStorageを試しましたが、うまくいきませんでした。[ec2-user@domU-... ~]$ sudo chown mongod:mongod /data を実行する必要があるところまで来ましたが、 : chown: 無効なユーザー: `mongod:mongod' が表示されます

によって解決しました:sudo chown mongod.mongod /dataはまだmongodを実行できません:

$sudo /etc/init.d/mongod start
Starting mongod: forked process: 1694
all output going to: /log/mongod.log
                                                           [FAILED][ec2-user@domU-... /]$ sudo mongod --dbpath=/data
Mon Oct 29 21:46:56 [initandlisten] MongoDB starting : pid=1675 port=27017 dbpath=/data 64-bit host=domU-...
Mon Oct 29 21:46:56 [initandlisten] db version v2.2.0, pdfile version 4.5
Mon Oct 29 21:46:56 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Mon Oct 29 21:46:56 [initandlisten] build info: Linux ... c8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Mon Oct 29 21:46:56 [initandlisten] options: { dbpath: "/data" }
Mon Oct 29 21:47:00 [initandlisten] journal dir=/data/journal
Mon Oct 29 21:47:00 [initandlisten] recover : no journal files present, no recovery needed
Mon Oct 29 21:47:00 [initandlisten] 
Mon Oct 29 21:47:00 [initandlisten] ERROR: Insufficient free space for journal files
Mon Oct 29 21:47:00 [initandlisten] Please make at least 3379MB available in /data/journal or use --smallfiles
Mon Oct 29 21:47:00 [initandlisten] 
Mon Oct 29 21:47:00 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Mon Oct 29 21:47:00 dbexit: 
Mon Oct 29 21:47:00 [initandlisten] shutdown: going to close listening sockets...
Mon Oct 29 21:47:00 [initandlisten] shutdown: going to flush diaglog...
Mon Oct 29 21:47:00 [initandlisten] shutdown: going to close sockets...
Mon Oct 29 21:47:00 [initandlisten] shutdown: waiting for fs preallocator...
Mon Oct 29 21:47:00 [initandlisten] shutdown: lock for final commit...
Mon Oct 29 21:47:00 [initandlisten] shutdown: final commit...
Mon Oct 29 21:47:00 [initandlisten] shutdown: closing all files...
Mon Oct 29 21:47:00 [initandlisten] closeAllFiles() finished
Mon Oct 29 21:47:00 [initandlisten] journalCleanup...
Mon Oct 29 21:47:00 [initandlisten] removeJournalFiles
Mon Oct 29 21:47:00 [initandlisten] shutdown: removing fs lock...
Mon Oct 29 21:47:00 dbexit: really exiting now

ガイドの単語がわかりません... 私だけですか...? この目標を達成するための、よりわかりやすいガイドはありますか? ありがとうございました!

4

3 に答える 3

3

私が遭遇した問題は、http: //doubleclix.wordpress.com/2012/05/04/notes-on-mongo-at-aws/で説明されています。

最後に、ガイドに従いました: http://d36cz9buwru1tt.cloudfront.net/AWS_NoSQL_MongoDB.pdf

そしてモンゴが走ってる!ルート ボリューム ebs に加えて、EBS (20 GiB) を 1 つだけ作成し、/data/db にマウントしました。

nodejs と 1 日 10,000 件のクライアント リクエストで私の展開がうまくいくことを願っています。(私が間違っている場合、または私が説明した展開について誰かが何か提案がある場合は、本当に感謝します)

ありがとうございました

于 2012-10-30T10:50:12.520 に答える
2

ステップ

sudo yum -y install mongo-10gen-server

mongodb を実行するユーザーを作成する必要があります。ただし、10Gen のドキュメントは、そのユーザーがmongodまたはmongoと呼ばれるかどうかに関して矛盾しています。

代わりに次のことを試してください。

sudo chown mongo:mongo /data

この手順により、/dataディレクトリの所有権がユーザーmongoとグループmongoに変更されます。

于 2012-10-29T14:50:04.047 に答える
0

EC2 アカウントに mongodb インスタンスを作成する Scalegrid.ioなどのmongodb管理ソリューションを使用する方が簡単な場合があります。インスタンスを実行することは、実際には仕事の中で最も簡単な部分です。あなたは考える必要があります

  1. バックアップ
  2. 回復
  3. モニタリング
  4. ゾーンがダウンした場合の高可用性。
于 2012-10-30T16:20:50.353 に答える