Rabbitmq 由于磁盘满,导致 rabbitmq 崩溃,无法提供服务

在Windows2012环境下,RabbitMQ3.11.0在Erlang25.1.1版本中因磁盘空间不足而崩溃,清除磁盘空间后无法自动恢复服务。日志显示在重建消息存储索引时遇到错误。解决方法是删除可能损坏的数据文件(可能丢失队列数据),然后重启RabbitMQ服务器。
摘要由CSDN通过智能技术生成

环境 Win2012:

  1. RabbitMQ 3.11.0
  2. Erlang: 25.1.1

报错日志:

  • 由于磁盘满,导致 rabbitmq 崩溃,无法提供服务
  • 清理磁盘空间后,rabbitmq 无法自动恢复正常 重启没用
39.916000+08:00 [info] <0.431.0> Making sure data directory 'c:/***/RabbitMQ/db/rabbit@iZ25ddk367koq2Z-mnesia/msg_stores/vhosts/628WB79CIFDYO9LJI6DKMI09L' for vhost '/' exists
2023-03-11 12:10:39.933000+08:00 [info] <0.431.0> Starting message stores for vhost '/'
2023-03-11 12:10:39.933000+08:00 [info] <0.436.0> Message store "628WB79CIFDYO9LJI6DKMI09L/msg_store_transient": using rabbit_msg_store_ets_index to provide index
2023-03-11 12:10:39.933000+08:00 [info] <0.431.0> Started message store of type transient for vhost '/'
2023-03-11 12:10:39.933000+08:00 [info] <0.440.0> Message store "628WB79CIFDYO9LJI6DKMI09L/msg_store_persistent": using rabbit_msg_store_ets_index to provide index
2023-03-11 12:10:39.933000+08:00 [warning] <0.440.0> Message store "628WB79CIFDYO9LJI6DKMI09L/msg_store_persistent": rebuilding indices from scratch
2023-03-11 12:10:39.933000+08:00 [error] <0.368.0> ** Generic server <0.368.0> terminating
2023-03-11 12:10:39.933000+08:00 [error] <0.368.0> ** Last message in was {'$gen_cast',
2023-03-11 12:10:39.933000+08:00 [error] <0.368.0>                            {submit_async,
2023-03-11 12:10:39.933000+08:00 [error] <0.368.0>                                #Fun<rabbit_classic_queue_index_v2.11.7882794>,
2023-03-11 12:10:39.933000+08:00 [error] <0.368.0>                                <0.365.0>}}
2023-03-11 12:10:39.933000+08:00 [error] <0.368.0> ** When Server state == undefined
2023-03-11 12:10:39.933000+08:00 [error] <0.368.0> ** Reason for termination ==

解决办法:

  • 仔细看日志内容 是 mq 启动时候,恢复队列内容数据时候发生了错误
  • 可能是由于磁盘满了,队列数据写磁盘时候发生日常,导致数据文件格式错误了

进入C:***\Roaming\RabbitMQ\db/msg_stores/vhosts/628WB79CIFDYO9LJI6DKMI09L
下面的报错
该目录是存放队列的数据文件的地方
找到queues,把可能损坏的文件删除。(或者全部删掉,不过这些队列中的数据就丢失了)
然后重启,就正常了
service rabbitmq-server start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值