请帮忙。 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。不幸的是,我无能为力。
答案 0 :(得分: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_-]
)字母且没有空格的路径中。