2

我一直在关注关于集群的 RabbitMQ 指南,我使用的是 RabbitMQ 2.8.7 版,并且我正在尝试在同一主机上启动 2 个节点。我使用以下命令以相同的方式启动两个节点...

RABBITMQ_NODE_PORT=5674 RABBITMQ_PID_FILE='/var/log/rabbitmq/rabbit-disc' RABBITMQ_NODENAME=rabbit-disc rabbitmq-server -detached

RABBITMQ_NODE_PORT=5673 RABBITMQ_PID_FILE='/var/log/rabbitmq/rabbit-ram' RABBITMQ_NODENAME=rabbit-ram rabbitmq-server -detached

然后,我尝试使用以下命令将第二个节点添加到第一个节点的集群中,方法是停止它...

sudo rabbitmqctl -n rabbit-ram stop_app

然而,与其停止它,不如简单地挂起......

Stopping node 'rabbit-ram@test-01' ...

它永远不会完成停止节点。我已经查看了日志文件和 pid 输出本身,当我尝试停止或发出任何命令时,既没有抛出任何错误,也没有提供关于进程锁定原因的任何提示。

我还尝试为启动命令中的其他参数提供完全不同的值,包括RABBITMQ_MNESIA_BASE认为可能存在一些锁定问题,但这并不能解决任何问题。

我已经安装了以下插件:

 [e] amqp_client                       2.8.7
 [e] erlando                           2.8.7
 [e] mochiweb                          2.3.1-rmq2.8.7-gitd541e9a
 [E] rabbitmq_management               2.8.7
 [e] rabbitmq_management_agent         2.8.7
 [e] rabbitmq_mochiweb                 2.8.7
 [E] rabbitmq_shovel                   2.8.7
 [E] rabbitmq_shovel_management        2.8.7
 [e] webmachine                        1.9.1-rmq2.8.7-git52e62bc

任何有关找出锁定发生原因以及如何克服锁定的帮助将不胜感激。

4

1 回答 1

1

似乎运行rabbitmq_management插件及其依赖项会导致问题。在禁用它的情况下运行多个节点不是问题,但是当我自己启用它时,它也会启用以下所有...

* mochiweb-2.3.1-rmq2.8.7-gitd541e9a
* rabbitmq_management_agent-2.8.7
* rabbitmq_mochiweb-2.8.7
* webmachine-1.9.1-rmq2.8.7-git52e62bc

这些似乎正在引起冲突。我假设因为他们的 web 视图正在尝试在每个节点上启动,而它已经被原始节点占用。我可以挖掘配置以拥有多个 web 视图,但这不是必需的。在我的第一个节点启动后禁用这些插件对我来说已经足够了。

于 2013-01-23T19:51:15.083 回答