web-dev-qa-db-fra.com

RabbitMQ n'a pas pu démarrer, TCP la connexion a réussi mais la distribution d'Erlang a échoué

Je suis un nouveau, je commence tout juste à apprendre et à installer RabbitMQ sur un système Windows.

J'installe Erlang VM et RabbitMQ dans un dossier personnalisé, pas dans un dossier par défaut (les deux).

Ensuite, j'ai redémarré mon ordinateur.

Au fait, le nom de mon ordinateur est "NULL"


Je cd dans le dossier RabbitMQ/sbin et utilise la commande :

rabbitmqctl status

Mais le message de retour est :

Statut du noeud lapin @ NULL ...

Erreur: impossible d'effectuer une opération sur le noeud 'rabbit @ NULL'. Veuillez consulter les informations de diagnostic et les suggestions ci-dessous.

Les raisons les plus courantes sont:

  • Le noeud cible est inaccessible (en raison, par exemple, de la résolution du nom d'hôte, de la connexion TCP ou du pare-feu)
  • L'outil CLI ne parvient pas à s'authentifier auprès du serveur (par exemple, le cookie Erlang de l'outil CLI ne correspond pas à celui du serveur)
  • Le noeud cible n'est pas en cours d'exécution

En plus des informations de diagnostic ci-dessous:

  • Reportez-vous à la CLI, aux guides de mise en cluster et de mise en réseau sur http://rabbitmq.com/documentation.html pour en savoir plus
  • Consultez les journaux du serveur sur le noeud rabbit @ NULL

DIAGNOSTIC

tenté de contacter: [rabbit @ NULL]

lapin @ NULL:

  • connecté à epmd (port 4369) sur NULL
  • epmd signale que le nœud "lapin" utilise le port 25672 pour le trafic entre les nœuds et les outils CLI
  • La connexion TCP a réussi mais la distribution Erlang a échoué

  • L'authentification a échoué (rejetée par le noeud distant), veuillez vérifier le cookie Erlang.

Détails du nœud actuel:

  • nom du noeud: rabbitmqcli70 @ NULL
  • répertoire de base de l'utilisateur effectif: C:\Users\Jerry Song
  • Erlang cookie hash: 51gvGHZpn0gIK86cfiS7vp ==

J'ai essayé de redémarrer RabbitMQ, ce que je reçois, c'est:

ERREUR: le nœud avec le nom "rabbit" s'exécute déjà sur "NULL"


Soit dit en passant, le nom de mon ordinateur est "NULL"Et j'ai activé tous les ports du pare-feu.

3
nthack

J'ai réinstalle le RabbitMQ sur mon ordinateur en en utilisant le dossier d'installation par défaut

Puis vérifiez avec la commande:

rabbitmqctl status

Cela fonctionne maintenant, pas le problème d'Erlang VM. (Cela signifie que Er peut l'installer à un autre niveau) 

Cela causera un problème (comme celui-ci) que je ne pourrais pas savoir maintenant si nous n’utilisons pas RabbitMQ la configuration par défaut nécessite un dossier (C:\Program Files\RabbitMQ Server)

Si quelqu'un le découvre, j'espère que vous pourrez me dire pourquoi et comment le réparer.

2
nthack

Si vous utilisez des emplacements de dossiers de lecteurs dédiés pour vos outils/logiciels de développement sous Windows 10 (pas l'emplacement par défaut de Windows), vous pouvez notamment synchroniser le cookie erlang comme décrit dans https://www.rabbitmq.com/cli.html. est en copiant le cookie comme expliqué ci-dessous. 

Veuillez noter que dans mon cas, les variables d'environnement HOMEDRIVE et HOMEPATH sont toutes deux définies non.


Après avoir copié le "C:\Windows\system32\config\systemprofile\.erlang.cookie" vers "C:\Utilisateurs \% USERNAME% \. Erlang.cookie ",

l'erreur "la connexion TCP a réussi mais la distribution Erlang a échoué" est résolu.


Je peux maintenant utiliser la commande "rabbitmqctl.bat status" avec succès. Par conséquent, il n'est pas nécessaire d'installer à l'emplacement par défaut pour résoudre cette erreur, car le cookie de synchronisation résoudra cette erreur. 

3
ilanuk

https://groups.google.com/forum/#!topic/rabbitmq-users/a6sqrAUX_Fg décrit le problème dans lequel une non-concordance de cookie se produit sur une nouvelle installation de Rabbit MQ. La solution facile sur Windows est de synchroniser les cookies 

Également décrit ici: http://www.rabbitmq.com/clustering.html#erlang-cookie Extract: Avec les versions d'Erlang commençant par 20.2, les emplacements des fichiers de cookies sont les suivants:

% HOMEDRIVE %% HOMEPATH% .erlang.cookie (généralement C:\Utilisateurs \% USERNAME% .erlang.cookie pour l'utilisateur% USERNAME%) si les variables d'environnement HOMEDRIVE et HOMEPATH sont définies % USERPROFILE% .erlang.cookie (généralement C:\Utilisateurs \% USERNAME% .erlang.cookie) si HOMEDRIVE et HOMEPATH ne sont pas tous les deux définis Pour le service Windows RabbitMQ -% USERPROFILE% .erlang.cookie (généralement C:\WINDOWS\system32\config\systemprofile) Le fichier de cookie utilisé par le compte de service Windows et l'utilisateur exécutant les outils CLI doit être synchronisé en copiant celui du dossier "C:\WINDOWS\system32\config\systemprofile".

3
Rishabh Jain

En centos.

  1. ajoutez une paire ip nom_noeud à/etc/hosts sur chaque nœud.

  2. redémarrez le service rabbitmq-server sur chaque nœud esclave.

travaille pour moi.

0
Richardhe2007