Sur une machine Windows 7 Entreprise, j'ai effectué une nouvelle installation d'Erlang 17.4 et de RabbitMQ 3.4.3 x64. L'installation a été réussie et sans incident.
Je n'ai pas encore essayé de créer ma première file d'attente ou mon premier échange, mais je vois déjà des problèmes. Ce problème est similaire à un autre SO post , mais cet autre post semble impliquer la mise en cluster, ce que je n'ai pas. En outre, cette autre affiche peut contourner son problème en redémarrant le service RabbitMQ; cette approche ne fonctionne pas pour moi.
Mon problème de "nodedown" est évident à l'invite de commande RabbitMQ:
C:\Program Files (x86)\RabbitMQ Server\statut_abbitmq_server-3.4.3\sbin> rabbitmqctl Statut du noeud lapin @ TPAJ05421843 ...
Erreur: impossible de se connecter au noeud rabbit @ TPAJ05421843: nodedownDIAGNOSTIC
tenté de contacter: [rabbit @ TPAJ05421843]
lapin @ TPAJ05421843:
* connecté à epmd (port 4369) sur TPAJ05421843
* rapports epmd: le noeud 'rabbit' ne fonctionne pas du tout
autres nœuds sur TPAJ05421843: ['RabbitMQ']
* suggestion: démarrer le noeuddétails du nœud actuel:
- nom du noeud: 'rabbitmqctl-19884 @ TPAJ05421843'
- répertoire personnel: H: \
- hachage du cookie: PD4QQCYrf0TME9vIko3Xuw ==
Sur la base de ce qui précède, j'ai choisi de vérifier l'état du nœud explicitement nommé «RabbitMQ». J'ai compris:
C:\Program Files (x86)\Serveur RabbitMQ\rabbitmq_server-3.4.3\sbin> rabbitmqctl -n Statut RabbitMQ
Statut du noeud 'RabbitMQ @ TPAJ05421843' ...
Erreur: impossible de se connecter au noeud 'RabbitMQ @ TPAJ05421843': nodedownDIAGNOSTIC
a tenté de contacter: ['RabbitMQ @ TPAJ05421843']
RabbitMQ @ TPAJ05421843:
* connecté à epmd (port 4369) sur TPAJ05421843
* epmd rapporte le noeud 'RabbitMQ' fonctionnant sur le port 59301
* La connexion TCP a réussi mais la distribution Erlang a échoué
* suggestion: incompatibilité de nom d'hôte?
* suggestion: le cookie est-il configuré correctement?détails du nœud actuel:
- nom du noeud: 'rabbitmqctl-23076 @ TPAJ05421843'
- répertoire personnel: H: \
- hachage du cookie: PD4QQCYrf0TME9vIko3Xuw ==
Ok, c'est à peine mieux, car au moins, il reconnaît que 'RabbitMQ' est exécuté sur le port 59301. Mais qu'est-ce que cela peut vouloir dire alors que "la distribution d'Erlang a échoué"?
Lorsque j'essayais de faire des recherches sur ce sujet, j'ai trouvé des articles disant: "Assurez-vous que vous avez identifié des cookies." Sur la base de cela, j’ai trouvé cet article , qui prétend que le "décalage des cookies" ne m’appartient pas, car je n’ai pas créé (ni n’ai l'intention de le créer) un cluster RabbitMQ.
Que devrais-je faire?
J'ai eu le même problème aujourd'hui. Aucun problème de cookie ou de pare-feu n'a été détecté et Windows a signalé que le service fonctionnait correctement. C'est ce qui a finalement résolu le problème:
Pour une raison quelconque, le service configuré par le programme d'installation n'a pas configuré plusieurs entrées de registre. L'exécution de ce jeu les a correctement configurés et a permis au service de s'exécuter.
Une chose que j'ai remarquée, c'est qu'avant de faire cela, il n'y avait aucune description du service dans la vue Services Windows. Après l'installation avec la commande rabbitmq-service, la description était visible. Cela pourrait être un indicateur rapide si vous rencontrez le même problème.
Comme @eddyP a commenté, j'avais deux fichiers de cookies Erlang différents:
$env:WINDIR\system32\config\systemprofile\.erlang.cookie
(avant Erlang 20.2, il se trouvait à $env:WINDIR\.erlang.cookie
).$env:USERPROFILE\.erlang.cookie
.Copier le fichier de cookie du serveur sur le client, de sorte que les deux fichiers soient identiques, a résolu le problème pour moi.
Pour plus de détails, voir "Comment les nœuds (et les outils de la CLI) s’authentifient les uns les autres: le cookie Erlang" .
À partir de l'invite de commande RabbitMQ, sbin (exécuté en tant qu'administrateur), exécutez cette commande:
rabbitmq-server restart
Dans Windown, Pour une raison quelconque, supprimez tous les dossiers de c:\Users\xxx\AppData\Roaming\RabbitMQ\db\
(xxx
est votre nom d'utilisateur)
démarrer rabbitmq net start rabbitmq
vérifier le service rabbitmq rabbitmqctl status
Même question sur la liste de diffusion RabbitMQ: https://groups.google.com/forum/#!topic/rabbitmq-users/0s1ExFhl4hM .
Le cookie Erlang est utilisé par rabbitmqctl
ainsi que par les nœuds du serveur. Il peut donc être nécessaire de le gérer (placé à l'emplacement correct) . "sur Windows bizarreries .
Je résous mon problème en procédant ainsi dans Windows 10.
Si vous venez ici chercher une réponse linux pour le même message d'erreur, essayez
Sudo service rabbitmq-server start
(qui n'est pas une commande de blocage)
Pour moi les cookies ne correspondaient pas, comme les autres commentaires, mais les emplacements étaient dans un chemin différent pour ceux qui ont le même problème que moi C:\Windows\System32\config\systemprofile
Il suffit de faire ce qui suit:
Après l'installation, activez le plug-in de gestion à l'aide de la commande ci-dessous:
rabbitmq-plugins enable rabbitmq_management
Voici comment j'ai résolu l'erreur sur mon système Windows 8:
Recherchez une erreur de syntaxe dans le fichier rabbitmq.config
placé dans le dossier AppData pour Windows.
Comment vérifier s'il y a une erreur de syntaxe?
Vous pouvez exécuter rabbitmq-server restart
à partir du dossier sbin dans:Program Files/RabbitMQ/rabbitmq_server_x.x/sbin/
.
Remplacez le contenu du rabbitmq.config
par rabbitmq.config.example
.
Vous pouvez trouver le fichier rabbitmq.config.example dans:
Program Files/RabbitMQ/rabbitmq_server_x.x/etc/
Attention, vous perdrez la configuration que vous avez précédemment enregistrée avec rabbitmq.
Après avoir modifié les fichiers, appuyez simplement sur
rabbitmq-server restart
dans le dossier sbin mentionné ci-dessus.
Cela se produit parce que lapin MQ n'est pas installé correctement sur Windows (et cette erreur est trompeuse!). Donc, pour le résoudre, procédez comme suit:
maintenant, vous pouvez courir 6. rabbitmq-plugins enable rabbitmq_management 7. démarrage du service lapin 8. et enfin, lancez: start http: // localhost: 15672 9. connectez-vous en tant qu'utilisateur "guest" avec le mot de passe "guest" et c'est tout. Bon rabbit!
J'ai manqué de redémarrer mon système d'exploitation Windows et de supprimer l'ancienne version d'ERLANG (que j'avais désinstallée avant de redémarrer).
D'une manière ou d'une autre, la nouvelle installation de Rabbit faisait référence à l'ancienne (version non installée) et à toute la discordance qui se produisait. L'indice était le lapin référencé «services» de l'ancienne version ERLANG.