WindowsServer 2012 R2上的RabbitMQ开始崩溃
问题描述:
我试图在Windows Server 2012 R2机器上运行RabbitMQ,但它不断崩溃。这是我看到跑“rabbitmqctl状态”的时候:WindowsServer 2012 R2上的RabbitMQ开始崩溃
C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.5.1\sbin>rabbitmqctl status
Status of node '[email protected]' ...
Error: unable to connect to node '[email protected]': nodedown
DIAGNOSTICS
===========
attempted to contact: ['[email protected]']
[email protected]:
* unable to connect to epmd (port 4369) on MYMACHINENAME: address (cannot connect to host/port)
current node details:
- node name: '[email protected]'
- home dir: C:\Users\myname
- cookie hash: L9D52tPzwbCgggPY6qPS3g==
C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.5.1\sbin>
下面是我在日志中看到(经过了漫长的系列显然是成功的“进度报告”的条目):
=CRASH REPORT==== 22-Apr-2015::11:57:24 ===
crasher:
initial call: rabbit_epmd_monitor:init/1
pid: <0.165.0>
registered_name: []
exception exit: {{badmatch,noport},
[{rabbit_epmd_monitor,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}]}]}
in function gen_server:init_it/6 (gen_server.erl, line 330)
ancestors: [rabbit_epmd_monitor_sup,rabbit_sup,<0.140.0>]
messages: []
links: [<0.164.0>]
dictionary: []
trap_exit: false
status: running
heap_size: 376
stack_size: 27
reductions: 463
neighbours:
=SUPERVISOR REPORT==== 22-Apr-2015::11:57:24 ===
Supervisor: {local,rabbit_epmd_monitor_sup}
Context: start_error
Reason: {{badmatch,noport},
[{rabbit_epmd_monitor,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}]}]}
Offender: [{pid,undefined},
{name,rabbit_epmd_monitor},
{mfargs,{rabbit_epmd_monitor,start_link,[]}},
{restart_type,transient},
{shutdown,4294967295},
{child_type,worker}]
=CRASH REPORT==== 22-Apr-2015::11:57:24 ===
crasher:
initial call: application_master:init/4
pid: <0.139.0>
registered_name: []
exception exit: {bad_return,
{{rabbit,start,[normal,[]]},
{'EXIT',
{error,
{{shutdown,
{failed_to_start_child,rabbit_epmd_monitor,
{{badmatch,noport},
[{rabbit_epmd_monitor,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_epmd_monitor_sup,
{rabbit_restartable_sup,start_link,
[rabbit_epmd_monitor_sup,
{rabbit_epmd_monitor,start_link,[]},
false]},
transient,infinity,supervisor,
[rabbit_restartable_sup]}}}}}}
in function application_master:init/4 (application_master.erl, line 133)
ancestors: [<0.138.0>]
messages: [{'EXIT',<0.140.0>,normal}]
links: [<0.138.0>,<0.7.0>]
dictionary: []
trap_exit: true
status: running
heap_size: 1598
stack_size: 27
reductions: 212
neighbours:
我已经启用端口4369的Windows防火墙,出现此端口被 “听”:
netstat -an
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:4369 0.0.0.0:0 LISTENING 6496
过程6469:
C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.5.1\sbin>tasklist /svc /FI "PID eq 6496"
Image Name PID Services
========================= ======== ============================================
epmd.exe 6496 N/A
任何想法在其他途径/配置/故障排除我可以追求?
答
这最终似乎是由于我连接到VPN。当不在VPN上时,我可以查看管理控制台,在命令行查看状态等。
答
错误{badmatch,noport}表明RabbitMQ可能无法访问EPMD的端口。
如果您仍想使用带有RabbitMQ的VPN,请确保打开RabbitMQ所需的端口。
请参阅What ports does RabbitMQ use?并阅读约inet_dist_listen_{min,max}
这里:http://www.rabbitmq.com/configure.html