O servidor Rabbitmq expira aleatoriamente durante a inicialização do servidor

2

Eu tenho a versão do servidor Rabbitmq 3.5.7-1ubuntu0.16.04.2 instalada no servidor Ubuntu 16.04. Quando o servidor é reinicializado, o Rabbitmq falha ao iniciar aleatoriamente. O servidor Rabbit é instalado a partir do repositório oficial do Ubuntu. Não há armazenamento em cluster, é apenas um servidor independente.

Quando o problema acontece, isso é o que é registrado no Journalctl na reinicialização:

Jun 03 09:50:52 hostname systemd[1]: Starting RabbitMQ Messaging Server...
...
Jun 03 09:51:23 hostname rabbitmq[1067]: Waiting for 'rabbit@hostname' ...
Jun 03 09:51:24 hostname rabbitmq[1067]: pid is 2455 ... 

Às 09:51:29 aplicativo que tenta usar o Rabbit não consegue se conectar: [Errno 111] Connection refused

Alguns segundos depois O coelho é iniciado de acordo com /var/log/rabbitmq/[email protected] :

=INFO REPORT==== 3-Jun-2018::09:52:22 ===
Server startup complete; 6 plugins started.
 * rabbitmq_management
 * rabbitmq_web_dispatch
 * webmachine
 * rabbitmq_management_agent
 * mochiweb
 * amqp_client

Mas no mesmo momento, o Rabbit entra em estado de erro devido ao tempo de início e término da operação:

Jun 03 09:52:22 hostname systemd[1]: rabbitmq-server.service: Start-post operation timed out. Stopping.
Jun 03 09:52:22 hostname systemd[1]: Failed to start RabbitMQ Messaging Server.
Jun 03 09:52:22 hostname systemd[1]: rabbitmq-server.service: Unit entered failed state.
Jun 03 09:52:22 hostname systemd[1]: rabbitmq-server.service: Failed with result 'timeout'.

Os registros em /var/log/rabbit não mostram nenhum aviso de erros.

Olhando para o arquivo da unidade Systemd, vejo que a operação Startpost executa o script /usr/lib/rabbitmq/bin/rabbitmq-server-wait , que contém o seguinte código:

. 'dirname $0'/rabbitmq-env
/usr/lib/rabbitmq/bin/rabbitmqctl wait $RABBITMQ_PID_FILE

Após este serviço de comando em execução, o rabbitmq-server start inicia o serviço sem problemas.

Não consigo entender qual é o objetivo desta operação de início e por que está expirando. O que poderia estar causando o problema e como devo proceder para pesquisá-lo?

    
por Madoc Comadrin 07.06.2018 / 08:46

1 resposta

1

A equipe do RabbitMQ monitora a lista de e-mail rabbitmq-users e só às vezes responde a perguntas no StackOverflow .

Você está usando uma versão desatualizada e sem suporte do RabbitMQ. Desde então, houve melhorias com systemd integration. Você deve usar a versão mais recente do RabbitMQ com o Erlang 19.3 ou posterior.

    
por 07.06.2018 / 15:45