RabbitMQ 可用磁盘 space 不足
RabbitMQ Free disk space is insufficient
我尝试使用 Java 客户端将消息添加到队列中,但 rabbitmq 使我被阻止。
官方文档在 https://www.rabbitmq.com/disk-alarms.html 说:
When free disk space drops below a configured limit (50 MB by default), an alarm will be triggered and all producers will be blocked.
我的光盘 space 看起来像这样
所以,我在配置文件中设置磁盘space:
disk_free_limit.absolute = 1000MB
但它不会增加它。磁盘 space 仍然像上面那样。
日志文件也这样说:
2022-01-17 16:17:34.538000+03:00 [info] <0.399.0> Enabling free disk space monitoring
2022-01-17 16:17:34.538000+03:00 [info] <0.399.0> Disk free limit set to 1000MB
2022-01-17 16:17:34.844000+03:00 [info] <0.399.0> Free disk space is insufficient. Free bytes: 40. Limit: 1000000000
2022-01-17 16:17:34.844000+03:00 [info] <0.223.0> Running boot step code_server_cache defined by app rabbit
2022-01-17 16:17:34.844000+03:00 [warning] <0.395.0> disk resource limit alarm set on node 'rabbit@BLG2A-V1-BB0268'.
2022-01-17 16:17:34.844000+03:00 [warning] <0.395.0>
2022-01-17 16:17:34.844000+03:00 [warning] <0.395.0> **********************************************************
2022-01-17 16:17:34.844000+03:00 [warning] <0.395.0> *** Publishers will be blocked until this alarm clears ***
2022-01-17 16:17:34.844000+03:00 [warning] <0.395.0> **********************************************************
2022-01-17 16:17:34.844000+03:00 [warning] <0.395.0>
如何增加磁盘 space?
我的设置:
OS: Windows 10
RabbitMQ: 3.9.12
Erlang/OTP: 24.2
警报告诉您 您的服务器 磁盘上只剩下 50MB space RabbitMQ 正在尝试写入。
disk_free_limit
设置不控制分配了多少磁盘,它控制了预期的磁盘大小 -如果你设置为1000MB,警报将在只剩1000MB时触发,而不是等到只剩50MB。
使更多磁盘 space 可用与任何其他程序一样:
- 删除其他占用磁盘的东西space - 例如确保日志文件在一定时间后被压缩和删除
- 将 RabbitMQ 配置为使用不同的磁盘或分区,如果您已经有更大的磁盘或分区
- 如果是物理主机,则安装更大的磁盘;如果是虚拟机,则分配更大的磁盘映像
我将 RabbitMQ 版本更改为 3.9.11。现在,它已经修复了。
我想,问题出在版本 3.9.12 上。
此问题将在 3.9.13 中修复
https://github.com/rabbitmq/rabbitmq-server/pull/3970
注意: RabbitMQ 团队监控 rabbitmq-users
mailing list 并且有时只在 Whosebug 上回答问题。
我尝试使用 Java 客户端将消息添加到队列中,但 rabbitmq 使我被阻止。
官方文档在 https://www.rabbitmq.com/disk-alarms.html 说:
When free disk space drops below a configured limit (50 MB by default), an alarm will be triggered and all producers will be blocked.
我的光盘 space 看起来像这样
所以,我在配置文件中设置磁盘space:
disk_free_limit.absolute = 1000MB
但它不会增加它。磁盘 space 仍然像上面那样。
日志文件也这样说:
2022-01-17 16:17:34.538000+03:00 [info] <0.399.0> Enabling free disk space monitoring
2022-01-17 16:17:34.538000+03:00 [info] <0.399.0> Disk free limit set to 1000MB
2022-01-17 16:17:34.844000+03:00 [info] <0.399.0> Free disk space is insufficient. Free bytes: 40. Limit: 1000000000
2022-01-17 16:17:34.844000+03:00 [info] <0.223.0> Running boot step code_server_cache defined by app rabbit
2022-01-17 16:17:34.844000+03:00 [warning] <0.395.0> disk resource limit alarm set on node 'rabbit@BLG2A-V1-BB0268'.
2022-01-17 16:17:34.844000+03:00 [warning] <0.395.0>
2022-01-17 16:17:34.844000+03:00 [warning] <0.395.0> **********************************************************
2022-01-17 16:17:34.844000+03:00 [warning] <0.395.0> *** Publishers will be blocked until this alarm clears ***
2022-01-17 16:17:34.844000+03:00 [warning] <0.395.0> **********************************************************
2022-01-17 16:17:34.844000+03:00 [warning] <0.395.0>
如何增加磁盘 space?
我的设置:
OS: Windows 10
RabbitMQ: 3.9.12
Erlang/OTP: 24.2
警报告诉您 您的服务器 磁盘上只剩下 50MB space RabbitMQ 正在尝试写入。
disk_free_limit
设置不控制分配了多少磁盘,它控制了预期的磁盘大小 -如果你设置为1000MB,警报将在只剩1000MB时触发,而不是等到只剩50MB。
使更多磁盘 space 可用与任何其他程序一样:
- 删除其他占用磁盘的东西space - 例如确保日志文件在一定时间后被压缩和删除
- 将 RabbitMQ 配置为使用不同的磁盘或分区,如果您已经有更大的磁盘或分区
- 如果是物理主机,则安装更大的磁盘;如果是虚拟机,则分配更大的磁盘映像
我将 RabbitMQ 版本更改为 3.9.11。现在,它已经修复了。
我想,问题出在版本 3.9.12 上。
此问题将在 3.9.13 中修复
https://github.com/rabbitmq/rabbitmq-server/pull/3970
注意: RabbitMQ 团队监控 rabbitmq-users
mailing list 并且有时只在 Whosebug 上回答问题。