【问题标题】:Cannot restart mongodb on Ubuntu 11.04无法在 Ubuntu 11.04 上重新启动 mongodb
【发布时间】:2012-04-21 18:54:39
【问题描述】:

我已经安装了 mongodb,当我输入以下命令时,我收到了这些消息

root@amila:~# service mongodb status    
mongodb stop/waiting
root@amila:~# service mongodb restart    
restart: Unknown instance:     
root@amila:~# service mongodb stop    
stop: Unknown instance: 

我想重启mongodb,但是无法重启。

编辑: 这是/etc/mongodb.conf

dbpath=/var/lib/mongodb logpath=/var/log/mongodb/mongodb.log

logappend=true

bind_ip = 127.0.0.1
授权=真

【问题讨论】:

  • service mongodb start 的输出是什么?
  • 你能粘贴 /etc/mongodb.conf 文件的内容吗?
  • service mongodb start mongodb启动/运行,进程9012
  • 属于serverfault.com系统管理员和桌面支持专业人员的问答
  • 你能解决这个问题吗?我有同样的问题,这里的答案并没有解决我的问题。按照其他帖子中的建议删除 mongo.lock 文件也无济于事。

标签: mongodb


【解决方案1】:

鉴于 start 命令的输出,这是正确启动的。当您处于运行状态时,它似乎已停止。您需要查看日志文件:

/var/log/mongodb/mongodb.log

这会告诉你为什么 mongod 停止了。有几个可能的原因,但如果没有看到输出,就很难明确回答。我的一般建议:

  1. 不要使用 bind_ip - 这通常是个坏主意 更新(2016 年):删除它是因为导致我在 2012 年写回此内容的 bind_ip 问题已得到修复,甚至在现在默认在官方包中。值得尝试不将该设置作为故障排除步骤,但通常使用它也不错。
  2. 检查端口 27017 上运行的其他东西
  3. 在 mongodb.conf 文件中明确指定端口,即使您想使用默认端口也是如此

最后,看看这个关于如何修复文件权限的答案,以防万一出现问题(通常是由于在某些时候以 root 身份运行引起的):

mongodb crashes after unexpected shutdown

【讨论】:

  • 请注意日志是:/var/log/mongodb/mongod.log
  • 这可能是您系统上的情况,但是如果您查看问题中粘贴的配置,您会注意到日志路径已明确设置为我写的 :)
【解决方案2】:

Mongo 似乎由于某种原因无法启动。除了亚当已经提供的建议。

  • 检查您是否具有数据目录的写入权限。
  • 检查您是否具有对 /var/log 目录的写入权限。
  • mongod 是以 root 用户身份运行还是以其他用户身份运行?检查 mongodb 的初始化脚本 查看 mongod 以什么用户身份运行。

【讨论】:

    【解决方案3】:

    抱歉,如果您认为这是“SO 考古学”。

    我不知道这是否是同一个问题,但我现在面临着类似的事情。 我的日志结束:

    Mon Nov 19 10:25:37 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
    Mon Nov 19 10:25:37 dbexit: 
    Mon Nov 19 10:25:37 [initandlisten] shutdown: going to close listening sockets...
    Mon Nov 19 10:25:37 [initandlisten] shutdown: going to flush diaglog...
    Mon Nov 19 10:25:37 [initandlisten] shutdown: going to close sockets...
    Mon Nov 19 10:25:37 [initandlisten] shutdown: waiting for fs preallocator...
    Mon Nov 19 10:25:37 [initandlisten] shutdown: lock for final commit...
    Mon Nov 19 10:25:37 [initandlisten] shutdown: final commit...
    Mon Nov 19 10:25:37 [initandlisten] shutdown: closing all files...
    Mon Nov 19 10:25:37 [initandlisten] closeAllFiles() finished
    Mon Nov 19 10:25:37 dbexit: really exiting now
    

    所以我认为锁定文件没有正确关闭(例如关闭时)。你应该使用

    mongod --repair
    

    但这对我不起作用,所以我只是删除了/var/lib/mongodb/mongod.lock,然后启动了服务器。这不是安全的方法,而且如果您这样做,您的数据库中的数据可能会损坏。

    【讨论】:

      【解决方案4】:

      很抱歉重新讨论这个线程,但我把它放在这里是因为我遇到了完全相同的问题并且它有效。

      取自这里:

      http://pastebin.com/6hP42r69

      sudo -u mongodb mongod --repair -dbpath /var/lib/mongodb
      

      我正在运行 linux mint 15 和当前的 mongodb 版本。

      【讨论】:

        【解决方案5】:

        我解决了这个手动删除 .lock 文件的问题

        sudo rm -i /var/lib/mongodb/mongod.lock

        然后重启

        【讨论】:

          【解决方案6】:

          我遇到了同样的问题,我解决了运行问题:

          $ service mongod restart

          【讨论】:

            【解决方案7】:

            其中一种可能的情况可能是 mongod.lock(导致我的问题)。

            打开您的日志文件

            /var/log/mongodb/mongod.log

            看看你有没有因为 mongod.lock 文件的异常。复制它的位置并将其删除

            sudo rm /var/lib/mongodb/mongod.lock

            然后运行

            sudo service mongod 重启

            检查现在是否一切正常。

            sudo 服务 mongod 状态

            预期输出为mongod start/running

            【讨论】:

              【解决方案8】:

              有时问题可能是由于没有足够的可用存储空间使journaling 无法顺利继续。

              做了tail -100 /var/log/mongodb/mongod.log,发现这个错误:

              exception in initAndListen: 15926 Insufficient free space for journals, terminating 请在 /var/lib/mongodb/journal 中至少提供 3379MB 或使用 --smallfiles`

              通过将 smallfiles=true 放入我的 MongoDB 配置文件 /etc/mongod.conf 来解决它。

              然后sudo rm /var/lib/mongodb/mongod.lock

              然后使用service mongod start重新启动MongoDB实例

              希望对您有所帮助。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2011-10-17
                • 2020-12-19
                • 2012-01-12
                • 2020-12-17
                • 1970-01-01
                相关资源
                最近更新 更多