Windows RabbitMQ 3.6.6 wont start

524 views
Skip to first unread message

Ryan Gates

unread,
Aug 10, 2018, 2:11:01 PM8/10/18
to rabbitmq-users
How can I get RabbitMQ `3.6.6` to start on Windows Server 2012 R2? I am using Erlang OTP 19 (8.3). 

When I try to run
  
rabbitmq-server start

, I get the following error message.

    ERROR: epmd error for host {machinename}: address (cannot connect to host/port)

The error that I see in the logs is 

    Error description:
       
{could_not_start,rabbit,
           
{error,
               
{{shutdown,
                   
{failed_to_start_child,rabbit_epmd_monitor,
                       
{{badmatch,noport},
                         
[{rabbit_epmd_monitor,init,1,
                             
[{file,"src/rabbit_epmd_monitor.erl"},{line,56}]},
                         
{gen_server,init_it,6,
                             
[{file,"gen_server.erl"},{line,328}]},
                         
{proc_lib,init_p_do_apply,3,
                             
[{file,"proc_lib.erl"},{line,247}]}]}}},
               
{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]}}}}

The port for epmd is 4369 and I've added a firewall rule to allow traffic over it.

Luke Bakken

unread,
Aug 10, 2018, 3:49:11 PM8/10/18
to rabbitmq-users
Hi Ryan,

How did you install RabbitMQ and Erlang? Did you use the exe installers, and run them using an admin user?

Also ... why old versions of RabbitMQ and Erlang?

Thanks,
Luke

Ryan Gates

unread,
Aug 10, 2018, 3:56:13 PM8/10/18
to rabbitmq-users
Hi Luke,

I installed RabbitMQ and Erlang using the exe installers running them as Administrator. I am using the older versions because I am trying to add nodes to an existing cluster running RabbitMQ 3.6.6 per which Erlang. I had used more recent versions before, but I got errors about having an inconsistent cluster. I uninstalled the newer versions and re-installed the older versions. I'm still getting the issue though.

I installed and ran wireshark looking at port 4369 for epmd traffic, but I don't see anything.

-Ryan

Luke Bakken

unread,
Aug 10, 2018, 4:19:13 PM8/10/18
to rabbitmq-users
Hi Ryan,

Thanks for the info. The failure is happening here:


Either epmd is not starting correctly or maybe there's a mismatch between your rabbit node name and your host name. Or, maybe epmd.exe is still running from your previous Erlang installation? See if that's the case and, if so, kill the process before re-starting RabbitMQ.

Ryan Gates

unread,
Aug 10, 2018, 4:32:48 PM8/10/18
to rabbitmq-users
Hi Luke,

Where can I check my rabbit node name?

I tried to kill epmd.exe, but I couldn't find it in Task Manager. I do see erl and erlsrv processes. I did restart RabbitMQ, but got the same error. 

Is there a way that I can validate that epmd is working and is using the right version?

Thank you,
-Ryan

Martin Schröder

unread,
Aug 10, 2018, 4:33:41 PM8/10/18
to rabbitm...@googlegroups.com
Am Fr., 10. Aug. 2018 um 20:11 Uhr schrieb Ryan Gates <ryanv...@gmail.com>:
> How can I get RabbitMQ `3.6.6` to start on Windows Server 2012 R2? I am using Erlang OTP 19 (8.3).

3.6.6 was released 20 months ago; there are numerous newer version.
Mainstream support for 2012 R2 ends next month.
Erlang 19 is two major releases behind the current one.

Are you a software historian? :-)

Best
Martin

Ryan Gates

unread,
Aug 10, 2018, 4:44:56 PM8/10/18
to rabbitmq-users
Hey Martin,

I'd love to use the latest and greatest RabbitMQ, but 3.7.7 and 3.6.6 can't get along in the same cluster. I already have an instance in production and it's non-trivial to migrate the applications using it. I'm working on some things that will help with this in the future though. The 2012 R2 was just to have parity with the other node in the cluster.

-Ryan

Michael Klishin

unread,
Aug 10, 2018, 6:07:06 PM8/10/18
to rabbitm...@googlegroups.com
There is a pretty well understood and tried migration strategy that doesn't force you to upgrade in place [1].


--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-users+unsubscribe@googlegroups.com.
To post to this group, send email to rabbitmq-users@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
MK

Staff Software Engineer, Pivotal/RabbitMQ

Luke Bakken

unread,
Aug 10, 2018, 6:12:30 PM8/10/18
to rabbitmq-users
Hi Ryan,

If you're not setting a RabbitMQ node name via configuration or an environment variable it should be using whatever the hostname command reports. I would make sure that whatever that command outputs matches what you expect, and what the "Properties" dialog shows when you right-click on the computer icon. Also, pinging that hostname should return a valid IP address.

I'm surprised that you still see erl and erlsrv processes after getting that error.

Have you tried completely disabling the Windows firewall and trying to start RabbitMQ?

Could you ensure that the Windows service is stopped (no erl.exe or erlsrv.exe processes), then open a "RabbitMQ (sbin)" command prompt, and run the following:

set RABBITMQ_ALLOW_INPUT=true
.\rabbitmq-server.bat

There may or may not be errors shown, I would be interested to know. If you get to the Erlang VM shell prompt (which is the > character), run the following to display the node name:

node().

The output should be something like rabbit@HOST, where HOST is the machine's host name.

Thanks,
Luke

On Friday, August 10, 2018 at 1:32:48 PM UTC-7, Ryan Gates wrote:
Hi Luke,

Ryan Gates

unread,
Aug 13, 2018, 4:47:53 PM8/13/18
to rabbitmq-users
Hi Luke,

One odd thing that I am seeing is when I ping the hostname, this is what I see.

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.6\sbin>ping hostname

Pinging hostname.my.domain [::1] with 32 bytes of data:
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms

Ping statistics for ::1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms


Regarding turning off the firewall, it is set by a group policy and I don't have access to turn it off.

When I tried to run

set RABBITMQ_ALLOW_INPUT=true
.\rabbitmq-server.bat

I got the following

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.6\sbin>set RABBITMQ_ALLOW_INPUT=true

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.6\sbin>.\rabbitmq-server.bat
ERROR: epmd error for host {hostname}: address (cannot connect to host/port)

When I run in the Erlang VM shell prompt, I get the following

node().

in the Erlang VM shell prompt, I get the following

Erlang/OTP 19 [erts-8.3] [64-bit] [smp:2:2] [async-threads:10]

Eshell V8.3  (abort with ^G)
1> node().
nonode@nohost

Judging by the errors, it definitely seems like it is a networking issue. I'm not 100% sure how to move forward with troubleshooting it.

Thank you for your help,
-Ryan

Luke Bakken

unread,
Aug 13, 2018, 5:17:46 PM8/13/18
to rabbitmq-users
Hi Ryan,

I'm assuming that you've edited output and that hostname is a substitute for your computer's real host name.

It's a bit strange that the host name resolves to an ipv6 localhost address.


set RABBITMQ_ALLOW_INPUT=true
.\rabbitmq-server.bat

I got the following

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.6\sbin>set RABBITMQ_ALLOW_INPUT=true

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.6\sbin>.\rabbitmq-server.bat
ERROR: epmd error for host {hostname}: address (cannot connect to host/port)

When I run in the Erlang VM shell prompt, I get the following

node().


At this point, is this an Erlang shell that started as part of you running rabbitmq-server.bat?

 
Erlang/OTP 19 [erts-8.3] [64-bit] [smp:2:2] [async-threads:10]

Eshell V8.3  (abort with ^G)
1> node().
nonode@nohost

I am assuming that the above output is due to you running erl.exe on its own. If the above is the Erlang shell that is shown as RabbitMQ starts, then it does appear that we have a DNS issue.

Let me know with those two previous questions.
Thanks,
Luke 

Ryan Gates

unread,
Aug 23, 2018, 12:44:21 PM8/23/18
to rabbitmq-users
Hi Luke,

Thank you for your help. 

I ran the below in a separate Erlang shell.

Erlang/OTP 19 [erts-8.3] [64-bit] [smp:2:2] [async-threads:10]

Eshell V8.3  (abort with ^G)
1> node().
nonode@nohost

I was able to determine that my issue had to do with ports. I'm still trying to figure out why, but here's a PowerShell script for others to help troubleshoot.

$hostname = "hostname"
$ports = 4369, 5672, 5671, 25672, 15672

Test-NetConnection -ComputerName $hostname

foreach($port in $ports){
    Test-NetConnection -ComputerName $hostname -Port $port
}

I got some failures not for the computer name but for the port. I'll continue troubleshooting and let  you know what I find out.

-Ryan

Ryan Gates

unread,
Aug 24, 2018, 4:16:25 PM8/24/18
to rabbitmq-users
The issue revolved around connectivity to a certain Virtual Machine(VM) Host. VMotion was used to move the VM to a different host. Once that was completed the connectivity issues were resolved. 

Luke Bakken

unread,
Aug 24, 2018, 4:28:46 PM8/24/18
to rabbitmq-users
Hi Ryan,

That's interesting. Thank you for following up and have a nice weekend.

Luke
Reply all
Reply to author
Forward
0 new messages