【问题标题】:Rabbitmq start failsRabbitmq 启动失败
【发布时间】:2014-09-02 08:38:52
【问题描述】:

我的 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/rabbit@host",[],
              {#Fun<rabbit_queue_index.2.132977059>,
               {start,
                [{resource,<<"/">>,queue,
                  <<"photos_to_be_tagged_user_36">>}]}}]},
            transient,4294967295,worker,
            [rabbit_msg_store]}}}}}}}}}

有人可以帮忙吗?

非常感谢

【问题讨论】:

  • 使用sudo启动rabbitmq。
  • 我已经做到了。日志来自命令 sudo rabbitmq-server start
  • 可能是mnesia DB的问题,如果可以擦除数据,请尝试在/var/lib/rabbitmq/这里删除mnesia DB。注意:这将删除存储到队列中的所有数据。
  • 是的,我确实移动了 mnesia,它现在似乎可以工作了。错误是什么?因为我没有做任何特别的事情,而且过去几周一直运行良好......
  • 好问题,我不太清楚,例如可能是磁盘错误。数据库似乎已损坏。

标签: rabbitmq


【解决方案1】:

对于寻找此错误兔子的其他人,failure_during_boot,

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

我刚刚处理了同样的问题,帮助进入 mnesia 目录并删除队列和 msg_store_transient 目录。

据我了解,发生的情况是您最终得到了一个错误的队列 db(无论出于何种原因 - 即突然断电,其他一些进程触及文件),而 rabbitmq 无法解析,因此它崩溃了。清除消息队列后,它就可以正常工作了。

【讨论】:

  • 谢谢。我很担心这样做,但它恢复得很好。我受影响的实例是集群的一部分,它在删除队列和 msg_store_persistent(在我的情况下)目录后很好地与另一个同步。
  • 谢谢,伙计。你拯救了我的一天
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    我不得不删除 ...\AppData\Roaming\RabbitMQ\db 中的所有内容,而不仅仅是 Mnesia 文件(显然是在 Windows 上)。

    【讨论】:

      猜你喜欢
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-01
      • 2018-06-01
      相关资源
      最近更新 更多