0

我需要在一个超过 80gb 的 rabbitmq 日志文件上运行 rabbitmqctl rotate_logs。当我第一次尝试运行它时,它冻结了兔子并且无法接收到任何消息。在我不得不终止命令并重新启动兔子服务器之前,冻结持续了 20 分钟。

这是一个生产服务器,在不丢失消息或杀死代理的情况下在很短的时间内完成它是最佳的。

是否可以关闭服务并将当前日志文件移动到另一个位置并重新启动服务然后运行 ​​rotate_logs 命令?

我对 rabbitmq 相当陌生,我不确定处理这个问题的最佳方法是什么。

它安装在 Windows 2008 服务器上,作为流量大的生产站点的服务(但是消息队列的负载很小,只影响事物的管理方面)。

任何帮助或见解将不胜感激。

4

1 回答 1

1

我遇到了类似的情况,但只有大约 4GB 的日志文件而不是 80GB。

我使用的解决方法几乎就是您建议的...停止服务,移动日志文件并尽快重新启动服务。

对我来说,具体来说,我没有在服务停止时移动文件,而是将其重命名。我还编写了一个命令行脚本来为我完成这项工作。

这让我可以在几秒钟内停止服务、重命名文件并重新启动服务。

一旦服务恢复并运行,我可以根据需要自由移动/重命名/任何大型日志文件。

于 2015-12-03T13:56:56.973 回答