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操作の目的と、なぜタイムアウトになるのか理解できません。問題の原因は何ですか?どのように調査を進めますか?
RabbitMQチームは監視 the rabbitmq-users
メーリングリスト そしてStackOverflowの質問に時々答えるだけです。
古くてサポートされていないバージョンのRabbitMQを使用しています。それ以来、systemd
統合が改善されています。 Erlang 19.3以降では、最新バージョンのRabbitMQを使用する必要があります。