MongoDB在Ubuntu 14.04的配置

我在虚拟机VirtualBox上安装了Ubuntu 14.04,然后在部署MongoDB时遇到了错误。

环境:

  • 系统:Ubuntu(amd64服务器版本) on VirtualBox,内存256MB,双核CPU。
  • 硬盘:8GB ext4文件系统(.vdi),已经使用了64.5%
  • 互联网连接正常,软件源已经更新 

问题:

在安装mongo-server

$ sudo apt-get install mongodb-server

之后,无法启动MongoDB的服务

$ sudo service mongodb start      #why error?

重启虚拟机多次,删除配置文件并重装mongo-server多次

$ sudo apt-get remove –purge mongodb-server

$ sudo apt-get install mongodb-server

无效。 

分析:

查看配置文件/etc/mongodb.conf,根据其中的信息进行追踪到了几个目录,可疑的报错项有:

  1. 空间不够,提示使用--smallfiles参数
  2. 日志目录权限不够,拒绝访问

调整起来依然比较繁琐。

尝试手工启动mongod进程,报空间和权限的错

$ mongod –f /etc/mongodb.conf          #权限错误

$ sudo mongod –f /etc/mongodb.conf #空间不够

查看了一下/etc/group和/etc/passwd,已经存在MongoDB相关的项,说明MongoDB账户已经建立好了。 

权衡:

直接修改默认日志目录和数据文件的权限依然有可能会出问题。不想在层级的目录权限上纠结。由/etc/passwd知,MongoDB的老家在/home/mongodb,那就让它回老家去吧。MongoDB在Ubuntu 14.04的配置 

方法:

建立MongoDB的老家,并且给它产权

$ sudo mkdir –p /home/mongodb

$ sudo chown mongodb:mongodb /home/mongodb

调整配置文件,指向老家,加上参数

$sudo vim /etc/mongodb.conf

dbpath=/home/mongodb

logpath=/home/mongodb/mongo.log

smallfiles=true

再次重启。经此调整以后,已经能够正确维护MongoDB服务

$ sudo service mongodb [start|restart|status]

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

相关推荐