RabbitMQ failed to start, TCP connection succeeded but Erlang distribution failed

31,918

Solution 1

I have reinstalled the RabbitMQ in my computer by using default setup folder

Then checked with the command :

rabbitmqctl status

It works now, not the problem of Erlang VM .(Means Er can install at another folder)

It will cause some problem (like this one) that I couldn't find out now if we don't use the RabbitMQ default setup require folder (C:\Program Files\RabbitMQ Server)

If anyone finds it out, I hope you can tell me why and how to fix.

Solution 2

https://groups.google.com/forum/#!topic/rabbitmq-users/a6sqrAUX_Fg describes the problem where there is a cookie mismatch on a fresh installation of Rabbit MQ. The easy solution on windows is to synchronize the cookies

Also described here: http://www.rabbitmq.com/clustering.html#erlang-cookie

Ensure cookies are synchronized across 1, 2 and Optionally 3 below

  1. %HOMEDRIVE%%HOMEPATH%\.erlang.cookie (usually C:\Users\%USERNAME%\.erlang.cookie for user %USERNAME%) if both the HOMEDRIVE and HOMEPATH environment variables are set

  2. %USERPROFILE%\.erlang.cookie (usually C:\Users\%USERNAME%\.erlang.cookie) if HOMEDRIVE and HOMEPATH are not both set

  3. For the RabbitMQ Windows service - %USERPROFILE%\.erlang.cookie (usually C:\WINDOWS\system32\config\systemprofile)

The cookie file used by the Windows service account and the user running CLI tools must be synchronized by copying the one from C:\WINDOWS\system32\config\systemprofile folder.

Solution 3

If you are using dedicated drive folder locations for your development tools/software in Windows10(Not the windows default location), one way you can synchronize the erlang cookie as described by https://www.rabbitmq.com/cli.html is by copying the cookie as explained below.

Please note in my case HOMEDRIVE and HOMEPATH environment variables both are not set.


After copying the "C:\Windows\system32\config\systemprofile\.erlang.cookie" to "C:\Users\%USERNAME%\.erlang.cookie" ,

the error "tcp connection succeeded but Erlang distribution failed" is resolved.


Now I am able to use "rabbitmqctl.bat status" command successfully. Hence there is no mandatory need to install in default location to resolve this error as synchronizing cookie will resolve that error.

Solution 4

How I resolved mine

It's mostly caused by cookie mismatch on a fresh installation of Rabbit MQ

follow this 2 steps

1. copy the .erlang.cookie file from C:\Windows\System32\config\systemprofile paste it into 
C:\Users\["your user nameusername"] folder

2. run rabbitmq-service.bat stop and rabbitmq-service.bat start

Done it should work now when you run 'rabbitmqctl start_app' good luck.

note if you have more than one user put it in the correct user folder

Solution 5

i got error like this, i just stop my rabbitMQ with close port 25672 here syntax for linux:
kill -9 $(lsof -t -i:25672)

Error Images:

enter image description here

Share:
31,918
nthack
Author by

nthack

Updated on October 10, 2021

Comments

  • nthack
    nthack over 2 years

    I'm a new one just start to learn and install RabbitMQ on Windows System.

    I install Erlang VM and RabbitMQ in custom folder, not default folder (Both of them).

    Then I have restarted my computer.

    By the way,My Computer name is "NULL"


    I cd to the RabbitMQ/sbin folder and use command:

    rabbitmqctl status

    But the return message is:

    Status of node rabbit@NULL ...

    Error: unable to perform an operation on node 'rabbit@NULL'. Please see diagnostics information and suggestions below.

    Most common reasons for this are:

    • Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)
    • CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)
    • Target node is not running

    In addition to the diagnostics info below:

    DIAGNOSTICS

    attempted to contact: [rabbit@NULL]

    rabbit@NULL:

    • connected to epmd (port 4369) on NULL
    • epmd reports node 'rabbit' uses port 25672 for inter-node and CLI tool traffic
    • TCP connection succeeded but Erlang distribution failed

    • Authentication failed (rejected by the remote node), please check the Erlang cookie

    Current node details:

    • node name: rabbitmqcli70@NULL
    • effective user's home directory: C:\Users\Jerry Song
    • Erlang cookie hash: 51gvGHZpn0gIK86cfiS7vp==

    I have try to RESTART RabbitMQ, What I get is:

    ERROR: node with name "rabbit" already running on "NULL"


    By the way,My Computer name is "NULL" And I have enable all ports in firewall.