2 つの RabbitMQ をクラスター化しようとしています。
Debian Wheezy を実行している 2 台のマシン (rabbit1 と rabbit2) がありますrabbitmq-server 2.8.4-1
。(それが古いことは知っていますが、それが Debian Wheezy に付属しているものです。)
rabbit1 で実行します...
# rabbitmqctl stop_app
Stopping node rabbit@rabbit1 ...
...done.
# rabbitmqctl reset
Resetting node rabbit@rabbit1 ...
...done.
# rabbitmqctl cluster rabbit@rabbit2
Clustering node rabbit@rabbit1 with [rabbit@rabbit2] ...
Error: {no_running_cluster_nodes,[rabbit@rabbit2],[rabbit@rabbit2]}
しかし、私はこのエラーを乗り越えません。私は何が欠けていますか?
私がチェックしたこと:
- 両方のマシンの /var/lib/rabbitmq/.erlang.cookie で同じ Cookie を使用しています。
- エントリを追加し
/etc/hosts
、各マシンを他のマシンから ping できるようにしました (rabbit1、rabbit2 のみを名前として使用)。 - iptables は空です。
アップデート:
rabbit1 から、rabbit2 の epmd が 4369 でリッスンしていることを nmap で確認しました。
root@rabbit1:~# nmap -p 1- rabbit2
...
PORT STATE SERVICE
4369/tcp open epmd
5672/tcp open amqp
51629/tcp open unknown
解決策:(不正行為)
アーラン Cookie でも、ホスト名でも、ファイアウォールでもありませんでした。実際、それが何だったのかはまだわかりません。しかし、RabbitMQ が提供する Debian パッケージをインストールして、最終的に RabbitMQ 3.5.4 にアップグレードしました。(私はこれが不正行為であることを知っています。) アップグレード後、セットアップをさらに変更することなく、すべてが期待どおりに機能しました。