有些事情,只有当长时间压力测试的时候,才能暴露出来。MongoDB集群用了几个月了,但是当写了一个长时间运行的压力测试程序后,几天时间, primary server不能启动。查看MongoDB日志发现错误信息:
Fri Nov 29 10:49:13.182 [initandlisten] ERROR: Insufficient free space for journal files
Fri Nov 29 10:49:13.182 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
原来默认安装的MongoDB使用了/var磁盘分区作为数据保存的分区,而默认Ubuntu下这个分区并不大。所以安装MongoDB集群时要考虑选择合适大小的分区存放文件和日志,比如这里创建一个目录树, /mongodb/data下存放数据,/mongodb/log下存放日志。
root@vm1:/# tree /mongodb/ -L 1/mongodb/├── data└── log然后将文件移动到对应的目录下,并修改/etc/mongodb.conf文件里面的配置:
dbpath=/mongodb/data/mongodb logpath=/mongodb/log/mongodb.log