有什么理由说当我使用’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