【问题标题】:Mongodb can't startmongodb无法启动
【发布时间】:2011-05-23 07:02:41
【问题描述】:

今天我更新了我的 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

日志在这里

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 团队发布了它是稳定的,但有一个错误。他们立即将其修复为 v1.7.4。你可以看到major priority issue

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    在 shell 中启动 $ mongo# mongo 我发现了

    • /data/db 不存在
      sudo mkdir -p /data/db
    • mongod 现在是新贵
      sudo start --system mongod

    (适用于 Ubuntu 14.04 可信)

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        已报告并修复错误。

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

        $ sudo apt-get purge mongodb-stable $ sudo apt-get install mongodb-stable (如果 /var/lib/mongodb 中存在,则删除锁定文件) $须藤初始化6

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

        $ sudo vi /etc/init/mongodb.conf $ sudo 服务 mongodb 启动 mongodb 启动/运行,进程 2351

        工作。

        【讨论】:

          【解决方案4】:

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

          【讨论】:

          • 你应该更新 Mongodb。由 Mongoteam 修复。
          【解决方案5】:

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

          $ mongod --version

          数据库版本v2.2.0

          (如果您没有最新版本的 MongoDB,请按照 Ubuntu 安装说明http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

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

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

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

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

          Shut Down MongoDB 进入 Mongo CLI,访问 admin 并发出关闭命令:

          $ ./mongo

          > 使用管理员

          > db.shutdownServer()

          见:http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo

          【讨论】:

            【解决方案6】:

            您应该已经提到您使用的是哪个 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”)

            例如:

            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...
            

            【讨论】:

            • 这个稳定版本是 v1.6.5 并且似乎 mongo 团队发布了它作为一个错误的稳定版本。他们立即将其修复为 v1.7.4。看主要优先问题jira.mongodb.org/browse/SERVER-2200
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-07-08
            相关资源
            最近更新 更多