it-swarm.com.de

RabbitMQ konnte nicht gestartet werden, TCP Verbindung erfolgreich, aber Erlang-Verteilung fehlgeschlagen

Ich bin neu und fange einfach an, RabbitMQ unter Windows zu lernen und zu installieren.

Ich installiere Erlang VM und RabbitMQ in einem benutzerdefinierten Ordner, nicht im Standardordner (beide).

Dann habe ich meinen Computer neu gestartet.

Übrigens , Mein Computername lautet "NULL"


Ich cd in den Ordner RabbitMQ/sbin und verwende den Befehl :

rabbitmqctl status

Aber die Rückmeldung ist :

Status des Knotens Kaninchen @ NULL ...

Fehler: Der Knoten 'rabbit @ NULL' kann nicht bearbeitet werden. Bitte beachten Sie die Diagnoseinformationen und Vorschläge unten.

Die häufigsten Gründe dafür sind:

  • Zielknoten ist nicht erreichbar (z. B. aufgrund von Hostnamenauflösung, TCP -Verbindungs- oder Firewall-Problemen)
  • CLI-Tool kann sich nicht beim Server authentifizieren (z. B. weil das Erlang-Cookie des CLI-Tools nicht mit dem des Servers übereinstimmt).
  • Zielknoten läuft nicht

Zusätzlich zu den Diagnoseinformationen unten:

  • Weitere Informationen finden Sie in den CLI-, Clustering- und Netzwerk-Handbüchern auf http://rabbitmq.com/documentation.html
  • Konsultieren Sie die Serverprotokolle auf dem Knoten rabbit @ NULL

DIAGNOSTIK

versuchte zu kontaktieren: [rabbit @ NULL]

kaninchen @ NULL:

  • verbunden mit epmd (Port 4369) auf NULL
  • der epmd-Berichtsknoten 'rabbit' verwendet den Port 25672 für den Datenverkehr zwischen Knoten und CLI-Tools
  • Die TCP-Verbindung war erfolgreich, aber die Erlang-Verteilung ist fehlgeschlagen

  • Authentifizierung fehlgeschlagen (vom Remote-Knoten abgelehnt), überprüfen Sie das Erlang-Cookie

Aktuelle Knotendetails:

  • knotenname: rabbitmqcli70 @ NULL
  • das Basisverzeichnis des effektiven Benutzers: C:\Users\Jerry Song
  • Erlang-Cookie-Hash: 51gvGHZpn0gIK86cfiS7vp ==

Ich habe versucht, RabbitMQ neu zu starten, was ich bekomme ist :

FEHLER: Knoten mit dem Namen "Kaninchen" läuft bereits auf "NULL"


Übrigens , Mein Computername lautet "NULL" Und ich habe alle Ports in der Firewall aktiviert.

3
nthack

Ich habe das RabbitMQ in meinem Computer neu installieren, indem Sie verwenden, indem Sie den Standard-Setup-Ordner verwenden

Dann prüfen Sie mit dem Befehl:

rabbitmqctl status

Es funktioniert jetzt, nicht das Problem von Erlang VM (Mittel Er kann bei anderen Ordnern installiert werden) 

Es wird einige Probleme verursachen (wie dieses), die ich jetzt nicht herausfinden konnte, wenn wir RabbitMQ nicht verwenden Standardeinstellung erfordert foler (C:\Programme\RabbitMQ Server)

Wenn jemand es herausfindet, hoffe ich, dass Sie mir sagen können, warum und wie Sie das Problem beheben können.

2
nthack

Wenn Sie für Ihre Entwicklungswerkzeuge software unter Windows10 dedizierte Laufwerksordner (nicht Windows-Standardspeicherort) verwenden, können Sie das Erlang-Cookie auf eine Weise synchronisieren, wie in/- https://www.rabbitmq.com/cli.html beschrieben wird durch Kopieren des Cookies wie unten erklärt. 

Bitte beachten Sie, dass in meinem Fall die Umgebungsvariablen HOMEDRIVE und HOMEPATH beide sind nicht set.


Nach dem Kopieren von"C:\Windows\system32\config\systemprofile\.erlang.cookie"nach"C:\Users \% USERNAME% \. erlang.cookie ",

der Fehler "TCP-Verbindung war erfolgreich, Erlang-Verteilung ist fehlgeschlagen" wurde behoben.


Jetzt kann ich den Befehl "rabbitmqctl.bat status" erfolgreich verwenden. Daher ist es nicht zwingend erforderlich, an einem Standardspeicherort zu installieren, um diesen Fehler zu beheben, da der Fehler beim Synchronisieren von Cookies behoben wird. 

3
ilanuk

https://groups.google.com/forum/#!topic/rabbitmq-users/a6sqrAUX_Fg beschreibt das Problem, wenn bei einer Neuinstallation von Rabbit MQ ein Cookie-Konflikt vorliegt. Die einfache Lösung für Windows besteht darin, die Cookies zu synchronisieren 

Auch hier beschrieben: http://www.rabbitmq.com/clustering.html#erlang-cookie Extract: Bei Erlang-Versionen, die mit 20.2 beginnen, lauten die Speicherorte der Cookie-Dateien:

% HOMEDRIVE %% HOMEPATH% .erlang.cookie (normalerweise C:\Users \% USERNAME% .erlang.cookie für Benutzer% USERNAME%), wenn sowohl die Umgebungsvariablen HOMEDRIVE als auch HOMEPATH % USERPROFILE% .erlang gesetzt sind .cookie (normalerweise C:\Users \% USERNAME% .erlang.cookie), wenn für HOMEDRIVE und HOMEPATH nicht beide festgelegt sind. Für den RabbitMQ-Windows-Dienst -% USERPROFILE% .erlang.cookie (normalerweise C:\WINDOWS\system32\config\systemprofile) Die vom Windows-Dienstkonto verwendete Cookie-Datei und der Benutzer, der die CLI-Tools ausführt, müssen durch Kopieren der Datei aus dem Ordner "C:\WINDOWS\system32\config\systemprofile" synchronisiert werden.

3
Rishabh Jain

In Centos.

  1. fügen Sie dem Knoten/etc/hosts ein IP-Knotennamenpaar hinzu.

  2. starten Sie den rabbitmq-server-Dienst auf jedem Slave-Knoten neu.

funktioniert bei mir.

0
Richardhe2007

Füge nur meine Erfahrung hinzu, wenn es anderen auf der ganzen Linie hilft.

Ich habe ein Powershell .ps1-Skript geschrieben, um RabbitMQ zu installieren und zu konfigurieren, das als einer der Schritte zur Bereitstellung eines Servers mit Packer verwendet wird.

Ich habe den Code auf einem neuen AWS W2016-Server-Build geschrieben. Es funktionierte einwandfrei, wenn es auf der Box ausgeführt wurde (als Administrator, von einer Admin-PS-Konsole), aber wenn derselbe Code auf den Packer-Build-Server verschoben wurde, fiel es beim Ausführen der rabbitmqctl.bat-Konfigurationsschritte über den Packer aus, obwohl beide verwendet wurden (soweit ich das beurteilen kann) Administrator soll die Skripte ausführen.

Das funktionierte also bei der Codierungsbox:

$pathvargs = {cmd.exe /c "rabbitmqctl.bat" add_user Username Password}
Invoke-Command -ScriptBlock $pathvargs
$pathvargs = {cmd.exe /c "rabbitmqctl.bat" set_user_tags User administrator}
Invoke-Command -ScriptBlock $pathvargs
$pathvargs = {cmd.exe /c "rabbitmqctl.bat" set_permissions -p "/" User "^User-.*" ".*" ".*"}
Invoke-Command -ScriptBlock $pathvargs
Write-Host "Did RabbitMQ"

Aber ich musste dies mit einleiten ...

copy "C:\Windows\system32\config\systemprofile\.erlang.cookie" "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.17\sbin\.erlang.cookie"
copy "C:\Windows\system32\config\systemprofile\.erlang.cookie" $env:userprofile\.erlang.cookie -force

... Auf der Packerbox.

Ich vermute, es gibt ein Kontextproblem, aber ich benutze

"winrm_username":       "Administrator",

im Packer-Builder-Block, also dachte ich, das würde ausreichen.

TL; DR - Verwenden Sie das Cookie, obwohl es in einigen Fällen ohne es funktioniert.

0
Faye Smelter