RabbitMQ管理插件与本地集群

有什么理由说当我使用’rabbitmq-multi’来启动桌面上的节点集时,rabbitmq-management插件不起作用?或者更确切地说,管理插件会导致旋转失败?

当rabbitmq-multi启动rabbit_1 @ localhost时,我收到错误:{node_start_failed,normal}
第一个节点,兔@ localhost似乎开始没问题.

如果我取出管理插件,所有节点都会启动(然后集群).我想我正在使用最新的Erlang版本(5.8 / OTP R14A根据我的erl5.8.2文件夹中的README).我正在使用列为required on the plugins page的所有插件,包括mochiweb,webmachine,amqp_client,rabbitmq-mochiweb,rabbitmq-management-agent和rabbitmq-management.那些插件,只有那些插件.

最佳答案 问题是rabbitmq-multi只为AMQP分配顺序端口,而不是HTTP(或STOMP或AMQPS或代理可能打开的任何其他东西).因此,每个节点都尝试在管理插件的同一端口上侦听,只有第一个节点成功. rabbitmq-multi将在下一个版本中消失;这是一个原因.

我想你不想使用rabbitmq-multi启动节点,只需要多次调用rabbitmq-server,使用环境变量以不同的方式配置每个节点.我用的脚本如下:

start-node.sh:

#!/bin/sh 
RABBITMQ_NODE_PORT=$1 RABBITMQ_NODENAME=$2 \ 
RABBITMQ_MNESIA_DIR=/tmp/rabbitmq-$2-mnesia \ 
RABBITMQ_PLUGINS_EXPAND_DIR=/tmp/rabbitmq-$2-plugins-scratch \ 
RABBITMQ_LOG_BASE=/tmp \ 
RABBITMQ_SERVER_START_ARGS="-rabbit_mochiweb port 5$1" \ 
/path/to/rabbitmq-server -detached

然后调用它

start-node.sh 5672 rabbit
start-node.sh 5673 hare
点赞