web-dev-qa-db-ja.com

サーバーの起動中にRabbitmqサーバーがランダムにタイムアウトする

Ubuntu16.04サーバーにRabbitmqサーバーバージョン3.5.7-1ubuntu0.16.04.2をインストールしています。サーバーを再起動すると、Rabbitmqはランダムに起動に失敗します。 Rabbitサーバーは公式のUbuntuリポジトリからインストールされます。クラスタリングはなく、1つの独立したサーバーです。

問題が発生すると、これが再起動時にJournalctlに記録されるものです。

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 ... 

09:51:29に、ウサギを使用しようとするアプリケーションが接続できません:[Errno 111] Connection refused

数秒後、/var/log/rabbitmq/[email protected]に従ってRabbitが開始されます。

=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

しかし同時に、Start-post操作がタイムアウトしたため、Rabbitはエラー状態になります。

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'.

/var/log/rabbitのログには、エラー警告は表示されません。

Systemdユニットファイルを見ると、Startpost操作が次のコードを含むスクリプト/usr/lib/rabbitmq/bin/rabbitmq-server-waitを実行していることがわかります。

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

この実行中のコマンドサービスrabbitmq-serverstartの後、問題なくサービスを開始します。

このStart-post操作の目的と、なぜタイムアウトになるのか理解できません。問題の原因は何ですか?どのように調査を進めますか?

4
Madoc Comadrin

RabbitMQチームは監視 the rabbitmq-usersメーリングリスト そしてStackOverflowの質問に時々答えるだけです。


古くてサポートされていないバージョンのRabbitMQを使用しています。それ以来、systemd統合が改善されています。 Erlang 19.3以降では、最新バージョンのRabbitMQを使用する必要があります。

1
Luke Bakken