RabbitMQ莫名关闭,且启动失败处理过程

    今日登陆RabbitMQ管理后台,发现一台节点不在运行,顿时很懵,心想一直运行的好好的为啥就出问题了呢?很尴尬。。。

    登陆节点服务器后发现磁盘容量已满,这就更尴尬了。。。没有收到任何告警短信。。。无语中。。。

   1.先把log日志给清一清,腾出空间,因为RabbitMQ节点是 Disk 节点。

   2.启动RabbitMQ  service rabbitmq-server start,显示成功了,但是加入到集群中就显示nodedown,证明rabbitmq server 没有启动成功,去查看一下日志,发现了问题所在

error 日志中显示

Crash dump was written to: erl_crash.dump

init terminating in do_boot ()

log日志中有详细的错误

Error description:
   {could_not_start,rabbit,
       {{badmatch,
            {error,
                {{{badmatch,
                      {error,
                          {not_a_dets_file,
                              "/var/lib/rabbitmq/mnesia/rabbit@p1fu4aql/recovery.dets"}}},
                  [{rabbit_recovery_terms,open_table,0,[]},
                   {rabbit_recovery_terms,init,1,[]},
                   {gen_server,init_it,6,[{file,"gen_server.erl"},{line,306}]},
                   {proc_lib,init_p_do_apply,3,
                       [{file,"proc_lib.erl"},{line,237}]}]},
                 {child,undefined,rabbit_recovery_terms,
                     {rabbit_recovery_terms,start_link,[]},
                     transient,4294967295,worker,
                     [rabbit_recovery_terms]}}}},
        [{rabbit_queue_index,start,1,[]},
         {rabbit_variable_queue,start,1,[]},
         {rabbit_priority_queue,start,1,[]},
         {rabbit_amqqueue,recover,0,[]},
         {rabbit,recover,0,[]},
         {rabbit,'-run_step/2-lc$^1/1-1-',1,[]},
         {rabbit,run_step,2,[]},
         {rabbit,'-run_boot_steps/1-lc$^0/1-0-',1,[]}]}}

Log files (may contain more information):
   /var/log/rabbitmq/rabbit@p1fu4aql.log
   /var/log/rabbitmq/rabbit@p1fu4aql-sasl.log
 

 

从日志中看出 这个/var/lib/rabbitmq/mnesia/rabbit@p1fu4aql/recovery.dets 文件出错

我们找到这个文件并删除它

启动RabbitMQ    service rabbitmq-server start  成功

加入集群   rabbitmqctl start_app  成功

至此问题处理完成。