繁体   English   中英

EC2上的mongodb EBS

[英]mongodb EBS on EC2

我在ec2上使用mongodb和nodejs,我想部署它以便每天支持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

我不理解指南中的一个词......只有我......? 是否有更简单易懂的指南来实现这一目标? 谢谢!

我遇到的问题描述如下: http//doubleclix.wordpress.com/2012/05/04/notes-on-mongo-at-aws/

最后我按照指南: http//d36cz9buwru1tt.cloudfront.net/AWS_NoSQL_MongoDB.pdf

而mongo正在运行! 除了根卷ebs之外,我只创建了一个EBS(20 GiB)并将其安装到/ data / db

我希望我的部署能够在每天使用nodejs和10,000个客户端请求时正常工作。 (如果我错了,或者有人对我所描述的部署有任何建议,我会非常感激)

谢谢

这一步

sudo yum -y install mongo-10gen-server

应该创建一个用户来运行mongodb。 但是,10Gen的文档是否与该用户名为mongodmongo有冲突。

请尝试以下方法:

sudo chown mongo:mongo / data

该步骤将/ data目录的所有权更改为用户mongo和组mongo

使用像Scalegrid.io这样的mongodb管理解决方案可能更容易,它可以在您的EC2帐户中创建mongodb实例。 让实例运行实际上是工作中更容易的部分。 你需要考虑一下

  1. 备用
  2. 复苏
  3. 监控
  4. 区域出现故障时的高可用性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM