如何在Vivid中安装MongoDB 3.0?


Answers:


13

如果使用Trusty软件包,则MongoDB可能无法启动:

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

在这种情况下,请按照最后所述安装Debian Wheezy软件包。

安装Trusty DEB软件包

下载DEB文件

cd
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-mongos_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-server_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-shell_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-tools_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org_3.0.3_amd64.deb

并安装(按此顺序)

sudo dpkg -i mongodb-org-server_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-tools_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-shell_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-mongos_3.0.3_amd64.deb
sudo dpkg -i mongodb-org_3.0.3_amd64.deb

从评论中摘录,谢谢@ Pilot6

他们可能彼此依赖。这就是为什么安装软件包一一出现错误的原因。我建议sudo dpkg -i mongodb*.deb


使用可信赖的PPA

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

使用Debian Wheezy软件包

如果使用Trusty软件包,则MongoDB可能无法启动:

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

在这种情况下,请按照以下说明安装Debian Wheezy软件包

sudo apt-get remove mongodb-org
sudo apt-get autoremove
sudo rm /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo 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 dpkg -i mongodb*.deb
Pilot6

@ Pilot6因此,sudo dpkg -i mongodb-org_3.0.3_amd64.deb作为最后一条命令
AB

只是一个建议。作为一个命令,它更容易。如果在一个命令中安装多个软件包,则可以解决依赖关系。
6

@ Pilot6已添加并链接=)
AB

好的,我使用了Trusty deb软件包,它可以正常工作。然后,如何使它作为服务运行,以便可以使用来启动和停止它service mongod start
休·罗林森2015年

4

使用debian wheezy储存库在我的Ubuntu 15.04中成功安装了mongo版本3.0.6,请参见以下步骤

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

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

但是,在完成上述所有步骤并在计算机中安装了mongodb之后,现在当我尝试使用sudo service mongod start它启动mongodb服务时将失败。引发以下错误信息

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

所以这是我解析并正常启动mongodb的方法

  • 将MongoDB的默认数据存储文件从/ var / lib / mongodb更改为/ data / db

  • sudo mkdir -p /data/db

  • sudo gedit /etc/mongod.conf 并如下更改“ dbpath”行

  • 更换DBPATH =在/ var / lib中/ MongoDB的 TO DBPATH = /数据/ DB,然后保存文件。

  • 然后删除旧的默认/ var / lib / mongodb

  • 现在,我们必须使mongod用户拥有的所有目录/文件

  • sudo chown -R mongodb:mongodb /data/db

现在终于可以开始使用mongo sudo service mongod start

和运行该服务的地方sudo systemctl status mongod -它应该显示类似以下的消息

Loaded: loaded (/etc/init.d/mongod)

Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago

在我的博客文章中详细介绍了我的步骤。


1

正如我之前说过的:Debian / Ubuntu软件包已使用systemd服务单元进行了修补,以填补直接从mongodb.org发布的内容留下的空白。但是mongodb.service在WWW上并不缺少单位文件。同样,写一个也不难。(我有。)

具体来说:您会在适用于Ubuntu版本15的mongodb-server版本2.6软件包中找到这样的服务单元。确实,还有一个由mongodb.org发布的服务单元。只是这种情况,mongodb.org人们错误地将RPM的使用与特定于发行版的东西中的systemd的使用混为一谈。

请注意,具有讽刺意味的是,由mongodb.org提供的服务单元未应用mongodb.org本身建议的systemd服务单元指令。Debian / Ubuntu提供的工具也没有。但是,再次:具有这些指令的手写服务单元并不难编写。或确实进行修改以添加诸如numactl之类的东西。☺

进一步阅读


0

好吧,AB的答案都没有用。所以我唯一的选择是从tarball安装

请按照与该主题相关的文档上的说明进行操作。


0

作为@AB出色答案的简短补充。在先前安装的mongod 2.6 .26的生动amd64 ,只需将现有sources.list.d文件替换为

deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse

随后dist-upgrade自动工作。

sudo apt-get update
sudo apt-get dist-upgrade
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.