Directorio de artículos
Uno, el problema
Al final de la instalación de RadditMQ, cree un usuario de cola de mensajes, que aparece cuando el controlador y el nodo nodo están conectados a rabbitmq.
[root@controller ~]# rabbitmqctl add_user openstack RABBIT_PASS
Error: unable to connect to node rabbit@localhost: nodedown 无法连接到节点rabbit
DIAGNOSTICS
===========
attempted to contact: [rabbit@localhost]
rabbit@localhost:
* connected to epmd (port 4369) on localhost
* epmd reports node 'rabbit' running on port 25672
* TCP connection succeeded but Erlang distribution failed
* Hostname mismatch: node "rabbit@controller" believes its host is different. Please ensure that hostnames resolve the same way locally and on "rabbit@controller"
current node details:
- node name: 'rabbitmq-cli-13@controller'
- home dir: /var/lib/rabbitmq
- cookie hash: gwGz2ppxNd17Sx4omtwyZw==
De acuerdo con el mensaje de error y algunos de los siguientes consejos, probablemente pueda ver que se trata de un problema de cookies
Dos, la solucion
Esto puede deberse a algunas razones por las que los elementos de registro no están configurados correctamente al instalar el servicio. Generalmente, el servicio RabbitMQ se reinstala
1. Antes de reinstalar el servicio RabbitMQ, debemos finalizar el proceso mq
ps -ef | grep rabbitmq | grep -v grep | awk '{print $2}' | xargs kill -9
2. Instale el servicio RabbitMQ
3. Reinicie el proceso mq
rabbitmq-server -detached
4. Ver el estado del proceso mq
[root@ct ~]#rabbitmqctl status
Status of node rabbit@ct
[{
pid,27550},
{
running_applications,
[{
rabbitmq_management,"RabbitMQ Management Console","3.6.16"},
{
rabbitmq_management_agent,"RabbitMQ Management Agent","3.6.16"},
{
rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.6.16"},
{
rabbit,"RabbitMQ","3.6.16"},
{
amqp_client,"RabbitMQ AMQP Client","3.6.16"},
{
rabbit_common,
"Modules shared by rabbitmq-server and rabbitmq-erlang-client",
"3.6.16"},
{
xmerl,"XML parser","1.3.14"},
{
cowboy,"Small, fast, modular HTTP server.","1.0.4"},
{
ranch,"Socket acceptor pool for TCP protocols.","1.3.2"},
{
mnesia,"MNESIA CXC 138 12","4.14.3"},
{
syntax_tools,"Syntax tools","2.1.1"},
{
ssl,"Erlang/OTP SSL application","8.1.3.1"},
{
os_mon,"CPO CXC 138 46","2.4.2"},
{
compiler,"ERTS CXC 138 10","7.0.4.1"},
{
cowlib,"Support library for manipulating Web protocols.","1.0.2"},
{
public_key,"Public key infrastructure","1.4"},
{
crypto,"CRYPTO","3.7.4"},
{
asn1,"The Erlang ASN1 compiler version 4.0.4","4.0.4"},
{
recon,"Diagnostic tools for production use","2.3.2"},
{
inets,"INETS CXC 138 49","6.3.9"},
{
sasl,"SASL CXC 138 11","3.0.3"},
{
stdlib,"ERTS CXC 138 10","3.3"},
{
kernel,"ERTS CXC 138 10","5.2"}]},
{
os,{
unix,linux}},
{
erlang_version,
"Erlang/OTP 19 [erts-8.3.5.3] [source] [64-bit] [smp:4:4] [async-threads:64] [hipe] [kernel-poll:true]\n"},
{
memory,
...............
Puede ver que no hay ningún mensaje de error en el estado actual del proceso.
5. Vuelva a crear el usuario de la cola de mensajes.
[root@ct ~]# rabbitmqctl add_user openstack RABBIT_PASS
Creating user "openstack" 创建用户"openstack"
La creación tiene éxito y el problema está resuelto.