Artigo Diretório
Um, o problema
No final da instalação do RadditMQ, crie uma fila de mensagens do usuário, que aparece quando o controlador e o nó do nó estão conectados ao 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 acordo com a mensagem de erro e algumas das dicas a seguir, você provavelmente pode ver que é um problema de cookie
Dois, a solução
Isso pode ser devido a alguns motivos pelos quais os itens de registro não estão configurados corretamente durante a instalação do serviço. Geralmente, o serviço RabbitMQ é reinstalado
1. Antes de reinstalar o serviço RabbitMQ, precisamos encerrar o processo mq
ps -ef | grep rabbitmq | grep -v grep | awk '{print $2}' | xargs kill -9
2. Instale o serviço RabbitMQ
3. Reinicie o processo mq
rabbitmq-server -detached
4. Visualize o status do processo 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,
...............
Você pode ver que não há mensagem de erro no status do processo atual
5. Crie o usuário da fila de mensagens novamente
[root@ct ~]# rabbitmqctl add_user openstack RABBIT_PASS
Creating user "openstack" 创建用户"openstack"
A criação foi bem-sucedida e o problema foi resolvido.