gpt4 book ai didi

linux - 初始设置后 MongoDB 服务不会启动

转载 作者:IT老高 更新时间:2023-10-28 13:08:51 24 4
gpt4 key购买 nike

我正在运行 Fedora 20 并根据 Red Hat installation guide 安装了 MongoDB在官方文档上。我第一次能够将 mongod 守护程序作为服务运行而没有错误,但是当我关闭机器并返回时,由于某些故障,该服务拒绝启动。

在成功运行后列出的日志中,我看到:

***** SERVER RESTARTED *****
ERROR: Cannot write pid file to /var/run/mongodb/mongod.pid: No such file or directory

如果我尝试手动启动 mongod 或运行 mongod --repair,我会在启动失败时收到此消息:

ERROR: dbpath (/data/db) does not exist.
Create this directory or give existing directory in --dbpath.

这很奇怪,因为在我的 /etc/mongod.conf 中的配置文件中,数据库路径的设置如下:

dbpath=/var/lib/mongo

最后,如果我运行这个命令:

mongod --dbpath /var/lib/mongo

守护程序启动得很好。但是,我无法复制启动服务时的无错误行为。

谁能告诉我究竟出了什么问题以及如何开始将 mongod 作为服务运行?

编辑

如果我运行 mongod --config/etc/mongod.conf,我会收到此消息:

即将派生子进程,等待服务器准备好连接。 fork 进程:2702 错误:子进程失败,以错误号 1 退出

/var/run/mongodb目录不存在,所以我创建并分配给mongod用户。不幸的是,这并没有太大的不同。

我的 /var/log/mongodb/mongod.log 显示此消息:

[initandlisten] initAndListen 中的异常:10309 无法创建/打开锁定文件:/var/lib/mongo/mongod.lock errno:13 Permission denied mongod 实例是否已经在运行?,终止

最佳答案

在 Fedora 20 上对我有用的是:我们需要在每次启动时创建临时目录,这由 systemd-tmpfiles 处理。因此,创建一个文件/lib/tmpfiles.d/mongodb.conf 并在其中放入一行:

d /var/run/mongodb 0755 mongod mongod

这似乎在重新启动时处理它;如果您不想立即重新启动,可以使用以下命令执行:

sudo systemd-tmpfiles --create mongodb.conf

(查看 systemd-tmpfiles 的手册页)

关于linux - 初始设置后 MongoDB 服务不会启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23086655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com