MongoDB活动diaglog文件太大了

时间:2014-02-20 20:37:01

标签: mongodb logging

我有一个mongodb副本集。数据文件的大小非常大,因为有许多写操作。一个mongodb节点由于缺少磁盘空间而崩溃,因为一个diaglog文件为38GB。

是否有任何方式diaglog文件没有这么大,而是它创建了多个小(2GB或4GB)文件然后我将能够删除未使用的文件?

2 个答案:

答案 0 :(得分:2)

文件应仅存在于服务器是配置服务器或启动mongod时已明确设置命令行选项的位置。

--configsvr or --diaglog

由于这是预期用于诊断特定问题,您可能不希望它一直打开。在这种情况下,请从启动中删除--diaglog选项,除非您特意将其放在那里。

所以关键是,--diaglog选项的存在是为了非常详细日志记录,以便您解决诊断问题。 通常应该在生产环境中使用。

如果您真的需要它,那么您正在查看日志轮换和归档方法,这些方法有点超出此处提出的问题类型。

请参阅documentation

答案 1 :(得分:1)

副本集不需要diaglog parameter。它会创建一个非常详细的日志以进行故障排除,默认情况下绝对不能启用。

您可以安全地从mongod配置中删除此参数,并删除dbpath中的diaglog。*文件。

我怀疑您将diaglog输出与复制oplog (operations log)混淆。 oplog存储在名为local的集合中的oplog.rs数据库中,并在初始化副本集时预先分配。对于大多数64位操作系统,oplog size默认为可用磁盘空间的5%;如MongoDB手册中所述,OS X和32位系统有一些例外。