我正在尝试集群两个 RabbitMQ。
我有两台运行 Debian Wheezy 的机器(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,resp.rabbit2 作为名称)。 - iptables 是空的。
更新:
从 rabbit1 我用 nmap 验证了 rabbit2 上的 epmd 正在监听 4369。
root@rabbit1:~# nmap -p 1- rabbit2
...
PORT STATE SERVICE
4369/tcp open epmd
5672/tcp open amqp
51629/tcp open unknown
解决方法:(作弊)
它既不是 erlang cookie,也不是主机名,也不是防火墙。其实我还是不知道是什么。但是我最终还是通过安装 RabbitMQ 提供的 Debian 包升级到了 RabbitMQ 3.5.4。(我知道这是作弊。)升级后一切都按预期工作,我的设置没有进一步更改。