【问题标题】:RabbitMQ on Windows. Boot failedWindows 上的 RabbitMQ。启动失败
【发布时间】:2014-04-26 01:14:54
【问题描述】:

请帮忙。 RabbitMQ 在我的机器上运行良好,但在其他机器上无法启动。

RabbitMQ 3.2.4、Erlang OTPR16B03-1、Windows Server 2008 R2。 防火墙已打开,但我为传入连接添加了规则。在事件查看器中,我可以看到 Erlang 打开了开始监听端口。

当我启动服务时,没有显示错误。刷新服务列表后,服务似乎已停止。

当我运行rabbitmqctl.bat start_app 时,我看到了这个:

Starting node 'rabbit@WIN-T6EFNDT0P6D' ...
Error: unable to connect to node 'rabbit@WIN-T6EFNDT0P6D': nodedown
{"init terminating in do_boot",{badarg,[{io_lib,format,["- home dir: ~s~n",[[67,58,92,85,115,101,114,115,92,1040,1076,1084,1080,1085,1080,1089,1090,1088,1072,1090,1086,1088]]],[{file,"io_lib.erl"},{line,155}]},{rabbit_misc,'-format_many/1-lc$^0/1-0-',1,[]},{rabbit_misc,'-format_many/1-lc$^0/1-0-',1,[]},{rabbit_misc,format_many,1,[]},{rabbit_control_main,print_badrpc_diagnostics,1,[]},{rabbit_control_main,start,0,[]},{init,start_it,1,[{file,"init.erl"},{line,1053}]},{init,start_em,1,[{file,"init.erl"},{line,1034}]}]}}

当我运行 rabbitmq-server.bat 时,我得到以下信息:

BOOT FAILED
===========

Error description:
   {case_clause,
       {error,
           {function_clause,
               [{erl_scan,string,
                    [{error,"{file,\"C:/Users/",
                         <<"Àäìèíèñòðàòîð/AppData/Roaming/RabbitMQ/log/rabbit@WIN-T6EFNDT0P6D.log\"}">>},
                     1,[]],
                    [{file,"erl_scan.erl"},{line,153}]},
                {application_controller,make_term,1,
                    [{file,"application_controller.erl"},{line,1605}]},
                {application_controller,conv,1,
                    [{file,"application_controller.erl"},{line,1600}]},
                {application_controller,'-get_cmd_env/1-fun-0-',2,
                    [{file,"application_controller.erl"},{line,1595}]},
                {lists,foldl,3,[{file,"lists.erl"},{line,1248}]},
                {application_controller,load,2,
                    [{file,"application_controller.erl"},{line,1256}]},
                {application_controller,handle_call,3,
                    [{file,"application_controller.erl"},{line,619}]},
                {gen_server,handle_msg,5,
                    [{file,"gen_server.erl"},{line,585}]}]}}}

Log files (may contain more information):
   undefined
   undefined

Stack trace:
   [{rabbit,ensure_application_loaded,0,[]},
    {rabbit,'-boot/0-fun-1-',0,[]},
    {rabbit,start_it,1,[]},
    {init,start_it,1,[{file,"init.erl"},{line,1054}]},
    {init,start_em,1,[{file,"init.erl"},{line,1034}]}]


=INFO REPORT==== 25-Apr-2014::11:15:43 ===
Error description:
   {case_clause,
       {error,
           {function_clause,
               [{erl_scan,string,
                    [{error,"{file,\"C:/Users/",
                         <<"Àäìèíèñòðàòîð/AppData/Roaming/RabbitMQ/log/rabbit@WIN-T6EFNDT0P6D.log\"}">>},
                     1,[]],
                    [{file,"erl_scan.erl"},{line,153}]},
                {application_controller,make_term,1,
                    [{file,"application_controller.erl"},{line,1605}]},
                {application_controller,conv,1,
                    [{file,"application_controller.erl"},{line,1600}]},
                {application_controller,'-get_cmd_env/1-fun-0-',2,
                    [{file,"application_controller.erl"},{line,1595}]},
                {lists,foldl,3,[{file,"lists.erl"},{line,1248}]},
                {application_controller,load,2,
                    [{file,"application_controller.erl"},{line,1256}]},
                {application_controller,handle_call,3,
                    [{file,"application_controller.erl"},{line,619}]},
                {gen_server,handle_msg,5,
                    [{file,"gen_server.erl"},{line,585}]}]}}}

Log files (may contain more information):
   undefined
   undefined

Stack trace:
   [{rabbit,ensure_application_loaded,0,[]},
    {rabbit,'-boot/0-fun-1-',0,[]},
    {rabbit,start_it,1,[]},
    {init,start_it,1,[{file,"init.erl"},{line,1054}]},
    {init,start_em,1,[{file,"init.erl"},{line,1034}]}]

{"init terminating in do_boot",{rabbit,failure_during_boot,{case_clause,{error,{function_clause,[{erl_scan,string,[{error,"{file,\"C:/Users/",<<71 bytes>>},1,[]],[{file,"erl_scan.erl"},{line,153}]},{application_controller,make_term,1,[{file,"application_controller.erl"},{line,1605}]},{application_controller,conv,1,[{file,"application_controller.erl"},{line,1600}]},{application_controller,'-get_cmd_env/1-fun-0-',2,[{file,"application_controller.erl"},{line,1595}]},{lists,foldl,3,[{file,"lists.erl"},{line,1248}]},{application_controller,load,2,[{file,"application_controller.erl"},{line,1256}]},{application_controller,handle_call,3,[{file,"application_controller.erl"},{line,619}]},{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,585}]}]}}}}}

抱歉,堆栈跟踪太长了。

将 RABBITMQ_BASE 更改为 C:\RabbitMQ 后更新

我在日志中得到了这个:

=CRASH REPORT==== 25-Apr-2014::21:00:05 ===
  crasher:
    initial call: application_master:init/4
    pid: <0.70.0>
    registered_name: []
    exception exit: {bad_return,
                        {{rabbit,start,[normal,[]]},
                         {'EXIT',
                             {badarg,
                                 [{io_lib,format,
                                      ["~-15s: ~s~n",
                                       ["home dir",
                                        [67,58,92,85,115,101,114,115,92,1040,
                                         1076,1084,1080,1085,1080,1089,1090,
                                         1088,1072,1090,1086,1088]]],
                                      [{file,"io_lib.erl"},{line,155}]},
                                  {rabbit_misc,format,2,[]},
                                  {rabbit,'-log_banner/0-lc$^1/1-1-',2,[]},
                                  {rabbit,'-log_banner/0-lc$^1/1-1-',2,[]},
                                  {rabbit,log_banner,0,[]},
                                  {rabbit,start,2,[]},
                                  {application_master,start_it_old,4,
                                      [{file,"application_master.erl"},
                                       {line,269}]}]}}}}
      in function  application_master:init/4 (application_master.erl, line 133)
    ancestors: [<0.69.0>]
    messages: [{'EXIT',<0.71.0>,normal}]
    links: [<0.69.0>,<0.7.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 1598
    stack_size: 27
    reductions: 241
  neighbours:

还有rabbitmq-server.bat输出:

              RabbitMQ 3.2.4. Copyright (C) 2007-2013 GoPivotal, Inc.
  ##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/
  ##  ##
  ##########  Logs: C:/RabbitMQ/log/rabbit@WIN-T6EFNDT0P6D.log
  ######  ##        C:/RabbitMQ/log/rabbit@WIN-T6EFNDT0P6D-sasl.log
  ##########
              Starting broker...

BOOT FAILED
===========

Error description:
   {could_not_start,rabbit,badarg}

Log files (may contain more information):
   C:/RabbitMQ/log/rabbit@WIN-T6EFNDT0P6D.log
   C:/RabbitMQ/log/rabbit@WIN-T6EFNDT0P6D-sasl.log

{"init terminating in do_boot",{rabbit,failure_during_boot,{could_not_start,rabbit,badarg}}}

此外,我可以说在我的 RabbitMQ 工作正常的计算机上没有任何西里尔字母。我尝试安装和运行 RabbitMQ 的计算机具有俄语版本的 Windows。不幸的是,我对此无能为力。

【问题讨论】:

    标签: rabbitmq windows-server-2008-r2


    【解决方案1】:

    我可能是错的,但看起来您在某些 RabbitMQ 路径中有西里尔字符,这可能是您的错误的原因。

    你有:

    Log files (may contain more information):
       undefined
       undefined
    

    通常的痕迹:

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

    尝试将所有文​​件(尤其是日志)放置到包含字母数字 ([A-Za-z0-9_-]) 字母且不包含空格的路径中。

    【讨论】:

    • 感谢您的回答。我也注意到了这两行,但我不知道这两行应该是什么样子。我现在就试着做点什么。
    • 嗯,你有打开防火墙吗?如果这样做,请尝试暂时禁用它。如果它也不能帮助提供您的 rabbitmq 配置和日志输出。
    • 我一天前试图停止防火墙服务...我忘记了我通过远程桌面使用这台计算机。现在,我只是尝试允许并再次阻止传入连接......现在我断开连接并且无法做任何事情。不过,昨天,我允许 Erlang 可执行文件的连接,并检查了事件查看器中没有被阻止的连接。
    • 嗯,你检查过没有其他进程在同一个端口上运行吗?
    • 是的。我已经检查过了。此外,事件查看器显示 erl.exe 实际上打开了端口。看来问题是由俄罗斯版本的 Windows 引起的。几天后,我将尝试在其他装有俄语 Windows 的计算机上安装并运行它。
    猜你喜欢
    • 1970-01-01
    • 2019-05-08
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多