2017-07-25 124 views
1

我想在单个PC上设置RabbitMQ集群。
如何设置RabbitMQ集群?类似为localhost:15672RabbitMQ:如何设置群集?

+0

你尝试过什么事情? – KlwntSingh

+0

http://coding-insomnia.com/2013/02/23/clustering-rabbitmq-on-windows/试过这个。 –

回答

1

为了澄清我的答案范围:

  • “单PC”,我假设你想在主机操作系统上运行的所有节点,而不是在某种容器或虚拟机。
  • 将这些RabbitMQ节点作为单独的Windows服务运行可能是可能的,但我不知道如何设置Windows服务,所以我将跳过该步骤,只讨论手动启动RabbitMQ。无论如何,在同一主机上运行多个节点只与开发和测试目的相关,因此我相信这很好。

我不是Windows用户,所以下面的示例未经测试,可能包含错误。对不起,如果这不起作用。

第1步:一台主机

上启动多个节点启动同一主机上的多个节点,不管你打算集群与否,你必须给每个节点:

  • 一个独特的名字;
  • 专用侦听TCP端口。

要做到这一点,您需要设置几个environment variables。例如,为了启动两个节点:

你要使用rabbitmqctl每次要管理其中一个节点,您必须指定其名称。例如,这会给你点2的状态:

rabbitmqctl -n [email protected]%COMPUTERNAME% status 

RABBITMQ_NODE_PORT值是AMQP监听TCP端口。在这个例子中,节点1保持默认的AMQP端口为5672,随后的节点接下来的端口(5673等)。 RabbitMQ的自动从那些AMQP端口计算其他监听端口:

  • 管理UI将监听RABBITMQ_NODE_PORT + 10000(例如15673节点2)。所以这个网址就像http://myhost:15673/
  • Erlang分布将在RABBITMQ_NODE_PORT + 20000(例如节点2的25673)。此端口由rabbitmqctl使用,并用于一旦群集的节点间通信。

步骤2:群集节点

现在,你有几个节点上运行,你可以使用rabbitmqctl像往常一样到群集的那些节点:

rabbitmqctl -n [email protected]%COMPUTERNAME% stop_app 
rabbitmqctl -n [email protected]%COMPUTERNAME% join_cluster [email protected]%COMPUTERNAME% 
rabbitmqctl -n [email protected]%COMPUTERNAME% start_app