1

我正在尝试在 Mac 主机和在 VirtualBox 下运行的 Fedora 20 映像之间建立联合消息队列的原型。经过一定程度的头撞后,我设法让 Mac 交换与 Fedora 交换联合起来,这意味着发送到 Fedora 上游代理的消息将在 Mac 代理上接收。

但是,当尝试另一种方式时(Fedora 将 Mac 视为上游),我收到有关“eacces”的错误消息。

==> rabbit@localhost.log <==

=WARNING REPORT==== 29-Jan-2014::21:18:11 ===
Federation exchange 'amq.direct' in vhost '/' did not connect to exchange 'amq.direct' in vhost '/' on amqp://172.30.42.19
{error,eacces}

==> rabbit@localhost-sasl.log <==

=SUPERVISOR REPORT==== 29-Jan-2014::21:18:11 ===
 Supervisor: {<0.15681.0>,
                                       rabbit_federation_link_sup}
 Context:    child_terminated
 Reason:     {shutdown,restart}
 Offender:   [{pid,<0.21716.0>},
              {name,
                  {upstream,
                      [<<"amqp://guest:guest@172.30.42.19">>],
                      <<"amq.direct">>,<<"amq.direct">>,1000,1,1,36000000,
                      none,false,'on-confirm',none,<<"mac_host">>}},
              {mfargs,
                  {rabbit_federation_exchange_link,start_link,
                      [{{upstream,
                            [<<"amqp://guest:guest@172.30.42.19">>],
                            <<"amq.direct">>,<<"amq.direct">>,1000,1,1,
                            36000000,none,false,'on-confirm',none,
                            <<"mac_host">>},
                        {resource,<<"/">>,exchange,<<"amq.direct">>}}]}},
              {restart_type,{permanent,1}},
              {shutdown,4294967295},
              {child_type,worker}]

我的 Google-fu 让我失望了。什么可能导致上述错误,我应该如何解决它?

顺便说一句,理论上它可能是 Linux 或 Mac 防火墙,我尝试在 Fedora 机器上打开浏览器并请求http://172.30.42.19:5672. 作为回报,我得到了一个(微小的)答案,所以防火墙看起来不太可能是问题所在。

4

1 回答 1

1

这很可能与 SELinux 设置有关。当我禁用 SELinux 时,这个错误消失了,RabbitMQ 开始按预期工作。

以下命令可用于禁用 Fedora 20 上的 SELinux:sudo setenforce 0

于 2014-02-03T22:51:08.797 回答