Rabbitmq启动失败–报错Mnesia is overloaded

  • Post author:
  • Post category:其他




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相关信息了



版权声明:本文为qq_35767346原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。