目前我正在探索RabbitMQ的可能性。我正在尝试在虚拟机上集群3个RabbitMQ服务器(ubuntu14.04),在局域网中相互连接。
我成功集群了2个RabbitMQ服务器。 (所以我的.erlang.cookie是正确的,/ etc / hosts是正确的,机器可以互相ping,...)
服务器的配置文件是相同的。
我觉得奇怪的是,当我尝试将第三个RabbitMQ服务器连接到群集时,它会一直失败,直到我停止(已经)群集服务器上的rabbitmq-server应用程序。
尝试添加第3台服务器时,我在日志文件中收到以下错误:
=ERROR REPORT==== 16-Apr-2015::00:45:43 ===
Mnesia(rabbit@auser): ** ERROR ** Mnesia on rabbit@auser could not connect to node(s) [rabbit@virtual]
rabbit @ virtual是添加到群集的第二台服务器。所以看起来我只能构建一个桥而不是一个集群。我测试了当前的桥接连接,它工作正常。我做错了什么?
RabbitMQ服务器的配置文件如下:
[{rabbit, [{tcp_listeners, [5672]}]},
{rabbitmq_mqtt, [{default_user, <<"guest">>},
{default_pass, <<"guest">>},
{allow_anonymous, true},
{vhost, <<"/">>},
{exchange, <<"MQTT">>},
{subscription_ttl, 1800000},
{prefetch, 10},
{ssl_listeners, []},
%% Default MQTT with TLS port is 8883
%% {ssl_listeners, [8883]}
{tcp_listeners, [1883]},
{tcp_listen_options, [binary,
{packet, raw},
{reuseaddr, true},
{backlog, 128},
{nodelay, true}]}]}
].
答案 0 :(得分:0)
原来你不应该克隆机器而只是更改主机名。如果你想构建一个RabbitMQ集群,可以使用3台纯独立机器。