我正在尝试在单台PC上设置RabbitMQ群集 如何设置 RabbitMQ 群集?与localhost:15672相似
答案 0 :(得分:1)
澄清我的答案范围:
我不是Windows用户,因此下面的示例未经测试,可能包含错误。很抱歉,如果这不是开箱即用的。
要在同一主机上启动多个节点,无论您是否计划对它们进行群集,都必须为每个节点提供:
为此,您需要设置多个environment variables。例如,要启动两个节点:
对于节点1:
set RABBITMQ_NODENAME=rabbit1@%COMPUTERNAME%
set RABBITMQ_NODE_PORT=5672
对于节点2:
set RABBITMQ_NODENAME=rabbit2@%COMPUTERNAME%
set RABBITMQ_NODE_PORT=5673
每次您想要使用rabbitmqctl
来管理其中一个节点时,您都必须指定其名称。例如,这将为您提供节点2的状态:
rabbitmqctl -n rabbit2@%COMPUTERNAME% status
RABBITMQ_NODE_PORT
的值是AMQP侦听TCP端口。在此示例中,节点1将默认AMQP端口保持为5672,后续节点将使用以下端口(5673,依此类推)。 RabbitMQ自动计算来自这些AMQP端口的其他侦听端口:
RABBITMQ_NODE_PORT
+ 10000(例如节点2的15673)。因此,网址类似于http://myhost:15673/
。RABBITMQ_NODE_PORT
+ 20000(例如节点2的25673)。 rabbitmqctl
使用此端口,并在集群后进行节点间通信。现在你有几个节点正在运行,你可以像往常一样使用rabbitmqctl
来集群这些节点:
rabbitmqctl -n rabbit2@%COMPUTERNAME% stop_app
rabbitmqctl -n rabbit2@%COMPUTERNAME% join_cluster rabbit1@%COMPUTERNAME%
rabbitmqctl -n rabbit2@%COMPUTERNAME% start_app