2014-09-02 195 views
7

我的RabbitMQ服务器出现故障,无法重新启动。我试图重新启动,重新安装它...我仍然不明白错误。 这就是我得到的Rabbitmq启动失败

BOOT FAILED 

=========== 

Error description: 
    {could_not_start,rabbit, 
    {bad_return, 
    {{rabbit,start,[normal,[]]}, 
     {'EXIT', 
     {rabbit,failure_during_boot, 
     {badmatch, 
     {error, 
      {{{function_clause, 
      [{rabbit_queue_index,journal_minus_segment1, 
       [{no_pub,del,no_ack}, 
       {{<<115,254,171,167,171,226,110,171,251,38,217,145,3,12,215,151>>, 
        {message_properties,1409712663123302,false}, 
        true}, 
       del,ack}], 
       [{file,"src/rabbit_queue_index.erl"},{line,989}]}, 
       {rabbit_queue_index,'-journal_minus_segment/2-fun-0-',4, 
       [{file,"src/rabbit_queue_index.erl"},{line,973}]}, 
       {array,sparse_foldl_3,7,[{file,"array.erl"},{line,1675}]}, 
       {array,sparse_foldl_2,9,[{file,"array.erl"},{line,1669}]}, 
       {rabbit_queue_index,'-recover_journal/1-fun-0-',1, 
       [{file,"src/rabbit_queue_index.erl"},{line,701}]}, 
       {lists,map,2,[{file,"lists.erl"},{line,1224}]}, 
       {rabbit_queue_index,segment_map,2, 
       [{file,"src/rabbit_queue_index.erl"},{line,819}]}, 
       {rabbit_queue_index,recover_journal,1, 
       [{file,"src/rabbit_queue_index.erl"},{line,693}]}]}, 
      {gen_server2,call,[<0.186.0>,out,infinity]}}, 
      {child,undefined,msg_store_persistent, 
      {rabbit_msg_store,start_link, 
      [msg_store_persistent, 
       "/var/lib/rabbitmq/mnesia/[email protected]",[], 
       {#Fun<rabbit_queue_index.2.132977059>, 
       {start, 
       [{resource,<<"/">>,queue, 
        <<"photos_to_be_tagged_user_36">>}]}}]}, 
      transient,4294967295,worker, 
      [rabbit_msg_store]}}}}}}}}} 

任何人都可以帮忙吗?

非常感谢

+1

使用sudo启动rabbitmq。 – Gabriele 2014-09-02 08:41:18

+0

我已经做了。日志是从命令sudo rabbitmq-server start – tarkovski 2014-09-02 08:48:59

+0

也许问题是mnesia DB,如果你可以擦除你的数据,试着在这里删除mnesia DB/var/lib/rabbitmq /。注意:这将删除存储到队列中的所有数据。 – Gabriele 2014-09-02 08:57:06

回答

12

为别人寻找这个错误兔子,failure_during_boot,

{badmatch, 
    {error, 
     {{{function_clause, 
     [{rabbit_queue_index,journal_minus_segment1, ... 

我刚刚处理了同样的问题,是什么帮助正想Mnesia的目录,并删除队列和msg_store_transient目录。

从我所了解的情况来看,最终会出现一个坏的队列数据库(无论出于什么原因 - 即突然断电,其他进程会触及这些文件)rabbitmq无法解析,因此崩溃。一旦你清除了消息队列,它就可以正常工作。

3

我遇到了同样的问题,这是对我的帮助。

问题中的Mnesia文件位于/var/lib/rabbitmq/