3

I've had RabbitMQ 3.2.1 (Erl OTP 16B02 x64) running on Win 2008R2, one day it started to return nodedown error. I decided to reinstall RabbitMQ, I've removed Rabbit and Erlang enviriment, cleaned db folder in RABBITMQ_BASE, removed all erlang cookies and RABBITMQ_NODENAME / PORT variables. Intalled RabbitMQ 3.5.4 Erlang OTP18 x64 as admin....but still I'm not able to manage service via command promt, it gives me following output:

enter image description here

I've already seen some post on this error (Post1 , Post2 ) but, as I see right now all that they are suggesting is reinstall RabbitMQ and to be careful with Erlang cookies, and I've cleaned system completely after uninstalling previous version. Still, any suggestions appreciated.

Thanks.

UPD Funny thing - I've noticed that db folder in RABBITMQ_BASE is empty, so it is empty in %USERPROFILE%\AppData\Roaming\RabbitMQ... I thought it must create node structure there on service first start...

Community
  • 1
  • 1
da_sann
  • 425
  • 11
  • 20

2 Answers2

0

It's telling you that it is trying to connect to a node with name 'rabbit', and it is telling you that there is a node running with a name of 'RabbitMQ'.

Presumably 'RabbitMQ' is indeed your RabbitMQ node? Perhaps your new installation changed the name of the node, or maybe you were using a non default node name before that has been partially reset? Or maybe something else... Either way, I know you said you cleaned it, but there's a definite mismatch in the node name being used by your server and the rabbitmqctl client.

See RabbitMQ configuration for details on how to check and change your configuration (for UNIX and Windows), or try telling rabbitmqctl to use a different node name (this is -n on UNIX, not sure on Windows).

Michael
  • 3,639
  • 14
  • 29
  • I've updated screenshot with console output just before you post this answer. Only second command (which is now displayed matters), node name is set by default - rabbit@servername , and I'm trying to get it's status by calling - rabbitmqctl status. I haven't change any configuration, just clean install and I'm not able to use rabbitmqctl - the result is always nodedown error.. – da_sann Dec 09 '15 at 17:50
  • Well, yes, it looks to me like the node 'rabbit@servername' is down. The node 'RabbitMQ@servername' is up though... The question is, are you intending to use 'rabbit@servername' or 'RabbitMQ@servername' as the nodename of your server? If 'RabbitMQ@servername' then rabbitmqctl needs to connect to that, but if 'rabbit@servername', then you need to reconfigure your servers node name. – Michael Dec 09 '15 at 17:57
  • Try `rabbitmqctl -n 'RabbitMQ@servername'` or `rabbitmqctl /n 'RabbitMQ@servername'`. – Michael Dec 09 '15 at 18:00
  • As I noticed before - rabbitmqctl status call default node, and by default this node calls rabbit@servername which is down, and because of that any command to rabbitmqctl ends up with nodedown error. – da_sann Dec 10 '15 at 13:40
0

We (the RabbitMQ team) already saw this behavior, but couldn't reproduce it so far. What we discovered is that for unknown reasons, the Windows service is installed without its parameter, in particular, the node name (rabbit@<hostname>) is missing and Erlang (or Windows, I don't know) picks the service name as the node name (RabbitMQ@<hostname>).

rabbitmqctl fails to contact this node because it expects rabbit@<hostname> by default. But anyway, the node is not working properly.

The workaround we know is to remove and reinstall the Windows service.

  • It's been a while since I solved my problem, but as I remember it was just luck - somehow after third attempt service all started to work properly.... – da_sann Aug 04 '16 at 18:25