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,根据其中的信息进行追踪到了几个目录,可疑的报错项有:
- 空间不够,提示使用--smallfiles参数
- 日志目录权限不够,拒绝访问
调整起来依然比较繁琐。
尝试手工启动mongod进程,报空间和权限的错
$ mongod –f /etc/mongodb.conf #权限错误
$ sudo mongod –f /etc/mongodb.conf #空间不够
查看了一下/etc/group和/etc/passwd,已经存在MongoDB相关的项,说明MongoDB账户已经建立好了。
权衡:
直接修改默认日志目录和数据文件的权限依然有可能会出问题。不想在层级的目录权限上纠结。由/etc/passwd知,MongoDB的老家在/home/mongodb,那就让它回老家去吧。
方法:
建立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 的下载地址:请点这里