我正在尝试使用终端将mongodb 3.2安装到codio中,我正在关注他们网站here上的指南。 (我是mongodb和nosql的新手)
我使用此命令执行步骤4安装mongodb:
sudo apt-get install -y mongodb-org
最后得到以下内容:
..
The following packages will be upgraded:
mongodb-org
1 upgraded, 0 newly installed, 0 to remove and 51 not upgraded.
2 not fully installed or removed.
Need to get 3,554 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://repo.mongodb.org/apt/ubuntu/ trusty/mongodb-org/3.2/multiverse mongodb-org amd64 3.2.2 [3,554 B]
Fetched 3,554 B in 0s (249 kB/s)
(Reading database ... 37250 files and directories currently installed.)
Preparing to unpack .../mongodb-org_3.2.2_amd64.deb ...
Unpacking mongodb-org (3.2.2) over (3.2.1) ...
Setting up mongodb-org-server (3.2.2) ...
start: Job failed to start
invoke-rc.d: initscript mongod, action "start" failed.
dpkg: error processing package mongodb-org-server (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mongodb-org:
mongodb-org depends on mongodb-org-server; however:
Package mongodb-org-server is not configured yet.
dpkg: error processing package mongodb-org (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
mongodb-org-server
mongodb-org
E: Sub-process /usr/bin/dpkg returned an error code (1)
然后我跑
sudo service mongod start
或
sudo service mongodb start
这两个命令都会以start: Job failed to start
或mongodb: unrecognized service
我在这里遗漏了一些东西,例如mongodb需要安装其他软件包吗?以下错误的指导版本?我需要创建配置文件吗?如果我怎么做?因为它没有创建一个,或者mongodb不使用内置终端在codio上工作? mongodb-org-server是否已安装或正在运行?我一直在寻找确切或类似的东西,也试过不同的命令,但没有运气。
答案 0 :(得分:1)
这是因为mongod服务脚本中的 ulimit 设置。
Mongodb建议在ulimit设置中使用64000作为“打开文件”键。
https://docs.mongodb.org/manual/reference/ulimit/#recommended-settings
在codio中,这被设置为4096。
在codio终端中运行以下命令并查看“打开文件”设置。
ulimit -a
我不认为这个值可以在codio的操作系统级别更改。但是,我们可以从upstart文件中删除此设置(MongoDb不推荐)。
步骤:
1.为了保持简单和简洁,首先安装mongodb-org-server,而不是安装完整的mongodb-org。
sudo apt-get install -y mongodb-org-server
2.正如我们所知,它失败了 - '..Job未能开始......'bla..bla。只需忽略它们一分钟。在您喜欢的任何编辑器中以root身份编辑'/etc/init/mongod.conf'文件。我喜欢vim。 :)
sudo vim /etc/init/mongod.conf
3.注释掉(在行的开头键入'#')该行以'limit nofile'开头,如下所示。然后保存并关闭文件。
#limit nofile 64000 64000
4.现在通过在终端中运行命令来安装完整的'mongodb-org'软件包,如下所示。
sudo apt-get install -y mongodb-org
5.现在在终端尝试mongo。如果mongod服务正在运行,它将成功连接到默认db。
希望这可以帮助。
谢谢。