Mongodb无法启动

时间:2010-12-10 05:02:27

标签: mongodb

今天我更新了我的Mongo .. mongodb-stable(来自10gen repo)

但我的服务已经失效。 以下命令不起作用

$ sudo service mongodb start
$ start: Unknown job: mongodb

即使这个命令不起作用

$ sudo /etc/init.d/mongodb start
$ Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mongodb start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mongodb
start: Unknown job: mongodb

没有运行mongo进程

$ ps -ef|grep mongo
$ user  9689  8121  0 13:01 pts/1    00:00:00 grep --color=auto mongo

log is here

tail /var/log/mongodb/mongodb.log 
Fri Dec 10 11:24:35 [conn4] end connection 127.0.0.1:54217
Fri Dec 10 11:25:35 [initandlisten] connection accepted from 127.0.0.1:54229 #5
Fri Dec 10 11:26:25 [initandlisten] connection accepted from 127.0.0.1:54243 #6
Fri Dec 10 11:26:30 [conn6] end connection 127.0.0.1:54243
Fri Dec 10 11:30:13 got kill or ctrl c or hup signal 15 (Terminated), will terminate after current cmd ends
Fri Dec 10 11:30:13 [interruptThread] now exiting
Fri Dec 10 11:30:13 dbexit: 

Fri Dec 10 11:30:13 [interruptThread] shutdown: going to close listening sockets...
Fri Dec 10 11:30:13 [interruptThread] closing listening socket: 5
Fri Dec 10 11:30:13 [interruptThread] closing listening socket: 6
Fri Dec 10 11:30:13 [interruptThread] closing listening socket: 7
Fri Dec 10 11:30:13 [interruptThread] closing listening socket: 8
Fri Dec 10 11:30:13 [interruptThread] shutdown: going to flush oplog...
Fri Dec 10 11:30:13 [interruptThread] shutdown: going to close sockets...
Fri Dec 10 11:30:13 [interruptThread] shutdown: waiting for fs preallocator...
Fri Dec 10 11:30:13 [interruptThread] shutdown: closing all files...
Fri Dec 10 11:30:13     closeAllFiles() finished

Fri Dec 10 11:30:13 [interruptThread] shutdown: removing fs lock...
Fri Dec 10 11:30:13 dbexit: really exiting now

现在,我正在通过这个命令运行Mongo一段时间,手动创建进程

$ sudo mongod -f /etc/mongodb.conf

任何想法? 或者是否有人通过更新管理器更新了Mongo-stable?

编辑:

这个mongodb版本是v1.6.5,似乎mongo团队发布了它,因为它有一个bug。他们立即在v1.7.4修复了它。您可以看到major priority issue

6 个答案:

答案 0 :(得分:14)

已报告并修复了错误。

https://jira.mongodb.org/browse/SERVER-2200

$ sudo apt-get purge mongodb-stable 
$ sudo apt-get install mongodb-stable 
(remove the lock file if present in /var/lib/mongodb)  
$ sudo init 6 

然后编辑/etc/init/mongodb.conf 删除“限制nofile 20000”

$ sudo vi /etc/init/mongodb.conf 
$ sudo service mongodb start
mongodb start/running, process 2351

的工作。

答案 1 :(得分:6)

运行 Ubuntu 11.10 确认您拥有最新版本的MongoDB:

  

$ mongod --version

     

db version v2.2.0

(如果您没有最新版本的MongoDB,请按照<{3}}上的 Ubuntu安装说明进行操作

首先确认 mongodb 用户/组有权写入数据目录:

  

$ sudo chown -R mongodb:mongodb / var / lib / mongodb /.

使用以下命令启动MongoDB 作为守护程序(后台进程):

  

$ mongod --fork --dbpath / var / lib / mongodb / --smallfiles --logpath   /var/log/mongodb.log --logappend

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/进入Mongo CLI,请访问admin并发出shutdown命令:

  

$ ./mongo

     

&GT;使用管理员

     

&GT; db.shutdownServer()

请参阅:Shut Down MongoDB

答案 2 :(得分:4)

在shell启动$ mongo# mongo中,我能够找到

  • /data/db不在场sudo mkdir -p /data/db
  • mongod现在是一个暴发户sudo start --system mongod

(对Ubuntu 14.04可信赖有效)

答案 3 :(得分:2)

我在chroot环境中运行ubuntu server 10.04最小安装。在我执行上述操作后,我总是有相同的按摩。只有以下sudo mongod -f /etc/mongodb.conf有效,有任何提示吗?

答案 4 :(得分:1)

你应该已经提到了你正在使用的LINUX发行版和版本..

在Fedora 13和14上适合我:

# service mongod status
mongod (pid 6403) is running...
# service mongod stop
Stopping mongod:                                           [  OK  ]
# service mongod start
Starting mongod: forked process: 7131
all output going to: /data/mongo/log/mongod.log
                                                               [  OK  ]

你系统上“chkconfig | grep mongo”的输出是什么?

如果您没有从上面的命令获得任何输出,那么您仍然需要 使用“chkconfig”将mongod正确配置为服务(请参阅“man chkconfig”)

e.g:

chkconfig --add mongod
chkconfig --level 35 mongod on

之后你应该得到这个输出:

# chkconfig | grep mongo
mongod          0:off   1:off   2:off   3:on    4:off   5:on    6:off

# service mongod status
mongod (pid 6403) is running...

答案 5 :(得分:1)

如果进程没有运行但你仍然得到这个例子 - 只需删除mongodb / data文件夹中的“mongodb.lock”文件