进一步阅读

进一步阅读

安装了 MongoDB 2.6在全新安装的 Ubuntu 15.04 上:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install -y mongodb-org

它顺利完成了。然而,当我尝试启动它时,出现了以下错误:

$ sudo service mongod start
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

我怎样才能解决这个问题?

答案1

我从debian wheeze 存储库并且运行良好。

首先确保删除 mongodb-org 包及其所有依赖项:

sudo apt-get purge mongodb-org
sudo apt-get autoremove

删除您创建的旧 mongodb.list:

sudo rm /etc/apt/sources.list.d/mongodb.list

请使用 Debian 存储库:

echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

再次更新并安装:

sudo apt-get update
sudo apt-get install -y mongodb-org

此后,您就可以成功启动服务器:

sudo service mongod start

或者

systemctl start mongod

(正如 Ernie Hershey 在回复 Roman Gaufman 的评论时所澄清的那样:https://jira.mongodb.org/browse/SERVER-17742

答案2

MongoDB 团队表示,他们不会支持 Ubuntu 15.04,而是计划支持 16.04(参见https://jira.mongodb.org/browse/SERVER-17742)。

Ubuntu 15.04 将默认初始化系统从 Upstart 升级到 systemd。我无法使用 systemd 启动 MongoDB 3.0。

您可以通过安装切换回 Upstart upstart-sysv

sudo apt-get install upstart-sysv

然后重新启动,MongoDB 就应该启动了。

我希望找到一种在 Ubuntu 15.04 上运行 MongoDB 的简单方法,而无需及时切换。

答案3

您正在从 mongodb.org 直接发布的软件包进行安装。您应该从 Ubuntu 存储库中提供的软件包进行安装。Debian/Ubuntu 软件包已使用 systemd 服务单元进行修补,以填补 mongodb.org 留下的漏洞。

(WWW 上并不缺少mongodb.service单元文件。编写一个也不难。我就写过。)

具体来说,你会发现这样的服务单位适用于 Ubuntu 版本 15 的 mongodb-server 版本 2.6 软件包. 因此只需安装该包。

(请注意,Debian/Ubuntu 提供的服务单元不适用mongo 推荐的 systemd 服务单元指令

进一步阅读

答案4

这不是最好的答案吗?来自一个重复的问题:https://askubuntu.com/a/694226/255468作者:@sclausen


只是缺少 systemd 的服务文件。无需像 Kartik 那样返回 upstart,也无需使用与https://docs.mongodb.org/manual/installation/

创建文件 /lib/systemd/system/mongodb.service,内容如下:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf

[Install]
WantedBy=multi-user.target

相关内容