2013-05-06 113 views
3

我是web开发新手,我想开始使用一些RoR(使用机车CMS)。无法运行Mongo shell(Mac)

机车要求的一件事是拥有Mongodb。我用这个链接安装使用自制软件http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/

它安装正常,但后来我不能运行它!

当我输入 '蒙戈' 上端子I得到以下输出:

"MongoDB shell version: 2.4.3 
connecting to: test 
Mon May 6 11:12:28.927 
JavaScript execution failed: 
Error: couldn't connect to server   
127.0.0.1:27017 at src/mongo/shell/mongo.js:L112 
exception: connect failed" 

背景有助于调试的(上端子):

1.当我在我的mongod得到以下输入:

"all output going to: /usr/local/var/log/mongodb/mongo.log" 

所有权mongo.log的:

-rw-r--r-- 1 username admin 22133 May 6 11:13 mongo.log 

2.当我输入的mongod --fork我得到如下:

about to fork child process, waiting until server is ready for connections. 
forked process: 77566 
all output going to: /usr/local/var/log/mongodb/mongo.log 
ERROR: child process failed, exited with error number 100 

3.Typing的mongod --help给出了如下警告:

* WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 

4,我已经叫一个文件夹数据(其充当amongodb数据库,这是它应该是什么?)的根(路径:/数据)的数据文件夹的所有权:

"drwxr-xr-x 3 username wheel  102 Apr 23 21:38 data" 

5.Checking如果端口是免费:lsof的-i:270 17。我也尝试使用activity montior检查正在运行的mongo进程,并发现zilch!

No output 

6.我也试过:mongo - 修复。 Dint帮助!

我已经在这一段时间了,我已经看到了大多数在stackoverflow上的回应,并搜索周围找到一个解决方案,但迄今没有任何帮助!

UPDATE:

当我试图启动蒙戈外壳,我渐渐从mongo.log的如下:● 日志消息:

5/6/13 1:33:27.616 PM com.apple.launchd: 
(org.mongodb.mongod[79133])   
open("/private/var/log/mongodb/output.log", ...): Permission denied 

所以我做了chmod777为特定的文件夹和壳启动!

虽然我仍然得到一个警告,当它启动为:

Server has startup warnings: 
Mon May 6 13:33:27.693 [initandlisten] 
Mon May 6 13:33:27.693 [initandlisten] 
** WARNING: soft rlimits too low. 
Number of files is 256, should be at least 1000 

任何想法,我怎么能沉默这些警告?

回答

2

要获取所需的信息以确定故障原因,您需要在/usr/local/var/log/mongodb/mongo.log试图启动时查看(并发布给我们)输出。

但是,失败的最常见原因是缺少缺省数据库路径 - 在/data/db。要么创建该文件夹(并且不要忘记确保用户有权读取/写入该文件夹),要么使用--dbpath选项指定不同的路径。

更新:自从您发现后,日志文件上的权限不正确可能会导致此问题,方式与数据路径上的权限不同。

在警告方面,你需要的信息是在这里:

https://superuser.com/questions/433746/is-there-a-fix-for-the-too-many-open-files-in-system-error-on-os-x-10-7-1

,就是这样,虽然,一个警告 - 你可以没有问题与限制,只要它是执行MongoDB不承受重负荷。所以,如果这是一个开发环境,除非你计划进行负载测试,你应该没事

+0

亚当,谢谢你的回应!我按照你的意见查找了mongo.log,它的确有窍门!似乎我的日志文件位于其他地方,它有权限(我用我的发现更新了我的问题)。虽然仍有警告!请看看我更新的问题! – Sagar 2013-05-06 08:12:35