Rabbitmq启动失败--报错Mnesia is overloaded

本文讲述了作者在单节点RabbitMQ环境中,遇到启动失败和Mnesia overload告警的问题。通过排查服务环境、日志分析,最终发现是文件句柄限制导致。通过修改系统配置,将NOFILE限制增大,解决了端口问题并移除了告警,确保了RabbitMQ的正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 环境信息

单节点rabbitmq,RabbitMQ 3.7.0 on Erlang 19.3.6.4

2. 发现问题

主机意外断电后重启,发现启动rabbitmq时,命令超时报错

3. 问题排查

3.1 排查主机服务环境

查看到erlang的rabbitmq进程存在但是5672和15672端口没有拉起

3.2 排查日志信息

  1. 发现在启动之初就有告警信息,与文件句柄相关
    在这里插入图片描述
  2. 大量Mnesia is overloaded信息
    在这里插入图片描述

4. 问题解决

1)除去上述日志信息外,并无其他error等相关报错日志;并且进程是拉起的,但是端口信息没有
2)Mnesia is overloaded相关日志报错,查询后发现是在有大量读写时候造成的,但是实际当前服务并没有(应该没有)大量服务使用它,暂时先不解决
3)观察发现,实际主机文件句柄已经修改65535,但是日志的warning却反馈Recovering 4357 queues, available file handles: 924 可用的只有924,就很不正常;
查询官网后操作:https://www.rabbitmq.com/configure.html#kernel-limits
在这里插入图片描述

操作信息:
mkdir /etc/systemd/system/rabbitmq-server.service.d/
echo '[Service]' > /etc/systemd/system/rabbitmq-server.service.d/limits.conf
echo 'LimitNOFILE=102400' >> /etc/systemd/system/rabbitmq-server.service.d/limits.conf
 
systemctl daemon-reload

之后重启rabbitmq就正常启用了,也没有Mnesia is overloaded相关信息了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值