RabbitMQ has Nodedown Error

95,219

Solution 1

I had this same problem today. There were no cookie or firewall problems and windows reported that the service was running successfully. This is what finally fixed it:

  1. Run RabbitMQ sbin command prompt as administrator.
  2. Run "rabbitmq-service remove"
  3. Run "rabbitmq-service install"

For some reason the service set up by the installer did not configure several registry entries. Running this set them correctly and allowed the service to run.

One thing I noticed was that before I did this, there was no description of the service in the Windows Services view. After installing with the rabbitmq-service command, the description was visible. This might be a quick indicator if you are having the same problem.

Solution 2

As @eddyP commented, I had two different Erlang cookie files:

  • A server cookie file, located at $env:WINDIR\system32\config\systemprofile\.erlang.cookie (prior to Erlang 20.2 it was located at $env:WINDIR\.erlang.cookie).
  • A client cookie file, located at $env:USERPROFILE\.erlang.cookie.

Copying the server cookie file over the client one, so that both files were the same, fixed the problem for me.

For further details, see "How Nodes (and CLI tools) Authenticate to Each Other: the Erlang Cookie".

Solution 3

From RabbitMQ Command Prompt sbin (run as administrator) execute this command:

rabbitmq-server restart 

Solution 4

In Windown, For some reason delete all folder in c:\Users\xxx\AppData\Roaming\RabbitMQ\db\ (xxx is your username) then flow @Jerdev answer and

  • start rabbitmq net start rabbitmq

  • check rabbitmq service rabbitmqctl status

Solution 5

The same question on the RabbitMQ mailing list: https://groups.google.com/forum/#!topic/rabbitmq-users/0s1ExFhl4hM.

The Erlang cookie is used by rabbitmqctl as well as server nodes, so it may need being taken care of (placed in the correct location). See "Installing as a non-administrator user leaves .erlang.cookie in the wrong place" on Windows quirks.

Share:
95,219
Brent Arias
Author by

Brent Arias

Brent is a full-stack, hands-on software and cloud architect. He can be reached at [email protected]. LinkedIn profile My company AxisCode

Updated on July 05, 2022

Comments

  • Brent Arias
    Brent Arias almost 2 years

    On a Windows 7 Enterprise machine, I made a fresh install of Erlang 17.4 and RabbitMQ 3.4.3 x64. The installation was successful and uneventful.

    I have not yet tried to create my first queue or exchange, but I already see trouble. This problem is similar to another SO post, but that other post appears to involve clustering, which I don't have. Furthermore, that other poster can circumvent his issue by restarting the RabbitMQ service; that approach does not work for me.

    My "nodedown" problem is evident at the RabbitMQ command prompt:

    C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.3\sbin>rabbitmqctl status Status of node rabbit@TPAJ05421843 ...
    Error: unable to connect to node rabbit@TPAJ05421843: nodedown

    DIAGNOSTICS

    attempted to contact: [rabbit@TPAJ05421843]

    rabbit@TPAJ05421843:
    * connected to epmd (port 4369) on TPAJ05421843
    * epmd reports: node 'rabbit' not running at all
    other nodes on TPAJ05421843: ['RabbitMQ']
    * suggestion: start the node

    current node details:
    - node name: 'rabbitmqctl-19884@TPAJ05421843'
    - home dir: H:\
    - cookie hash: PD4QQCYrf0TME9vIko3Xuw==

    Based on the above, I chose to check the status of the node explicitly named 'RabbitMQ'. I get this:

    C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.3\sbin>rabbitmqctl -n RabbitMQ status
    Status of node 'RabbitMQ@TPAJ05421843' ...
    Error: unable to connect to node 'RabbitMQ@TPAJ05421843': nodedown

    DIAGNOSTICS

    attempted to contact: ['RabbitMQ@TPAJ05421843']

    RabbitMQ@TPAJ05421843:
    * connected to epmd (port 4369) on TPAJ05421843
    * epmd reports node 'RabbitMQ' running on port 59301
    * TCP connection succeeded but Erlang distribution failed
    * suggestion: hostname mismatch?
    * suggestion: is the cookie set correctly?

    current node details:
    - node name: 'rabbitmqctl-23076@TPAJ05421843'
    - home dir: H:\
    - cookie hash: PD4QQCYrf0TME9vIko3Xuw==

    Ok, this is barely better since at least it acknowledges 'RabbitMQ' running on port 59301. But what the heck could it mean that "Erlang distribution failed"?

    When I try to research this topic, I found articles saying "be sure you have matched cookies." Based on that I found this article, which claims the "cookie mismatch" does not pertain to me, because I have not created (nor intend to create) a RabbitMQ cluster.

    What should I do?

  • Gray Fox
    Gray Fox over 8 years
    Yeah, it seems to be an issue within the RabbitMQ installer not registering the service correctly.
  • Hoppe
    Hoppe about 8 years
    This command is helpful. It showed me the location of the logs where I was able to find the real error (erlang version too old for me)
  • Wiktor Zychla
    Wiktor Zychla about 8 years
    Confirmed this works also when the service is correctly visible in the Windows Services view but still doesn't work for some reason without this posted solution. Something relatively new, though, we've been installing rmq on multiple servers for few years now and this issue seem to be introduced somewhere lately. Thanks for this workaround then.
  • MoGun
    MoGun about 8 years
    this is a blocking command.. server gets restarted fine but the command doesn't return to terminal.. had to do ctrl+q to exit out which stopped the server.. jerdev answer above worked very well
  • Baguazhang
    Baguazhang over 7 years
    This worked for me having broken my Rabbit installation following an upgrade from windows 7 to windows 10!
  • Aditya Satyavada
    Aditya Satyavada about 7 years
    Works for me too. This is by far the simplest solution !
  • JLB
    JLB about 7 years
    Just to confirm, this is still an issue as of April 2017. Went through rounds and rounds of "homedir" and cookies and telnetting. This is the one solution that works (though maybe using the manual install from .ZIP may work as well).
  • Megha Jaiswal
    Megha Jaiswal almost 7 years
    When multiple install/uninstall could not help, this solution did help. Thanks. I copied from users to windows, but make sure both the files are same.
  • user7693832
    user7693832 almost 7 years
    @Jerdev What do you mean of the Run RabbitMQ sbin command prompt as administrator?
  • Elliot W
    Elliot W over 6 years
    @244boy what he means is to run command prompt as administrator and navigate to the RabbitMQ\sbin folder. like C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.6\sbin Then run the commands to remove and reinstall the service. It worked for me. Thank you.
  • Robbie Dee
    Robbie Dee over 6 years
    Great stuff - sorted me out too! :~D
  • neelmeg
    neelmeg over 6 years
    This answer in combination with top answer fixed it for me. Thanks
  • lapaczo
    lapaczo about 6 years
    Possible duplicity with the stackoverflow.com/questions/40528775/….
  • sh87
    sh87 about 6 years
    @Lapacho, this question/answer is not a duplicate. This question was asked Feb 1, 15. I posted my working answer on Sep 1, 2016. That question (stackoverflow.com/questions/40528775/…) was posted 2 months later (Nov 11, 2016). You added a comment on that question 1 year 3 months later (Feb 13, 2018). Which one, according to you, is a duplicate ?
  • Ben Thomson
    Ben Thomson about 6 years
    This one did it for me (with the top answer too). Thanks I was about ready to launch my laptop out the window.
  • sameer
    sameer about 6 years
    for me running above mentioned command followed by rabbitmq-server restart command worked.
  • Alex Zhukovskiy
    Alex Zhukovskiy almost 5 years
    What is RabbitMQ sbin? I don't find anything related to rabbit in /sbin
  • Raj Shukla
    Raj Shukla over 3 years
    Worked for me. Thanks