RabbitMQ

提供: ArchWiki
2017年5月13日 (土) 18:08時点におけるKusakata (トーク | 投稿記録)による版 (同期)
ナビゲーションに移動 検索に移動

RabbitMQ はメッセージを仲介するメッセージングブローカーです。メッセージを送受信したりするための共通プラットフォームとしてメッセージが受け取られるまで安全な場所に保管することができます。

インストール

rabbitmq パッケージをインストールしてください。

設定

設定は不要です。rabbitmq サービスを起動してください。

デフォルトの設定ファイルは /etc/rabbitmq/rabbitmq-env.conf に存在します。設定に関する詳細は 公式ドキュメント を読んでください。

MQTT の有効化

RabbitMQ は MQTT サーバーとして使えます。機能させるには以下のようにプラグインをインストールする必要があります:

$ sudo -u rabbitmq rabbitmq-plugins enable rabbitmq_mqtt

インストールしたら RabbitMQ サービスを再起動して変更を適用してください。

トピックに投稿する前にクライアントを認証する必要があります。RabbitMQ はバーチャルホストによってトラフィックを分離するため、ユーザー名を `your_user_name:configured_vhost_name` として認証を行ってください。

トラブルシューティング

ホストネームの変更

rabbitmq をインストールした後にホストネームを変更した場合、起動できなくなります。/etc/rabbitmq/rabbitmq-env.conf に記述されている NODENAME が原因です。新しいホストネームにあわせて変更してください:

/etc/rabbitmq/rabbitmq-env.conf
NODENAME=rabbit@my-new-hostname
...

RabbitMQ を最新版にアップグレードしたら起動できない

/etc/rabbitmq/rabbitmq-env.confNODENAME が間違っているのが原因です。例えば @hostname が追加されてしまうことがあります。ホストネームの変更のときと同じようにすることで解決できます。

Erlang の cookie エラー

rabbitmq の HOME 設定が間違っていると認証に失敗することがあります:

Authentication failed (rejected by the remote node), please check the Erlang cookie
...
home dir: /root

HOME は設定ファイルで設定できます:

/etc/rabbitmq/rabbitmq-env.conf
...
HOME=/var/lib/rabbitmq
...