我想在我的开发机器(windows)中构建一个RabbitMQ集群 原因是我想测试和研究它。
是否可以在一台机器上运行多个rabbitmq实例? 我猜我需要:
有人试过吗? 有没有已知的指南?
答案 0 :(得分:6)
现在官方RabbitMQ文档包含“单个计算机上的群集”部分,其中描述了如何在一台计算机上运行多个兔节点。
答案 1 :(得分:5)
This thread似乎详细说明了您的需求。从线程响应(向下滚动):
分离节点运行时需要以下设置 完全,同时允许他们共享已安装的代码库。
RABBITMQ_CONFIG_FILE / etc / rabbitmq / rabbitmq
RABBITMQ_MNESIA_BASE / var / lib / rabbitmq / mnesia
RABBITMQ_LOG_BASE / var / log / rabbitmq
RABBITMQ_ENABLED_PLUGINS_FILE / etc / rabbitmq / enabled_plugins
答案 2 :(得分:1)
我在开发机器上测试群集时采用的一种方法是启动多个虚拟机。我有几个用于兔子,一个用于HAProxy。
虽然根据其他答案之一,您可以在单个操作系统实例上运行多个实例,但多虚拟机方法允许我更密切地模仿预期的生产环境。
NB。为了这个答案,我选择将你的“一台机器”解释为物理机器。如果你的意思是“虚拟”,那么我会推迟针对这个问题发布的另一个答案,详细说明如何实现这个目标。
答案 3 :(得分:0)
您可以在一台机器上运行多个RabbitMQ实例而无需集群。您只需要在rabbitmq-defaults,rabbitmq-env和配置文件中更改端口和节点名称即可。
对于Linux:
确保已安装Erlang,然后下载Generic Unix的最新版本并将其解压缩。
转到Rabbit安装文件夹(刚刚提取的文件夹)/ sbin->打开rabbitmq-defaults文件并更改SYS_PREFIX = $ {RABBITMQ_HOME}在其他位置创建默认文件夹,您应将路径设置为提取的文件夹,例如。 / home /您的用户名/ rabbit_server-msg(这是我提取的文件夹)。
更改节点名称。打开rabbitmq-env文件->查找NODENAME = rabbit @ $ {HOSTNAME}并更改名称Rabbit(例如rabbitMSG @ $ {HOSTNAME})。在同一文件中,找到并更改DEFAULT_NODE_PORT,默认情况下将其设置为5672。默认群集端口由$ {DEFAULT_NODE_PORT} + 20000设置。因此,如果将默认节点端口设置为5673,则群集端口将为25673。 p>
安装管理插件。导航到rabbitmq-server / sbin并运行“ ./rabbitmq-plugins enable Rabbitmq_management”
需要在配置文件中更改AMQP和HTTP端口。复制文件Rabbitmq.config.example并将其粘贴到Rabbit_server-msg(再次这是我提取的forlder)/ etc(这是RabbitMQ从步骤1创建的默认文件夹)/ rabbitmq文件夹,将文件重命名为rabbitmq。配置。如果在rabbit文件夹中找不到文件rabbitmq.config.example,请创建一个名为rabbitmq.config的文件,然后从其GitHub复制代码。
打开配置文件并取消注释以下行:
– {tcp_listeners,[5672]}并更改端口号(建议设置与Rabbitmq-env中的DEFAULT_NODE_PORT相同的数字,例如5673)。
– {listener,[{port,12345},然后更改端口号(用于管理插件)。
注意:请注意逗号和括号。删除{tcp_listeners,[5672]}之后的逗号。同样在{listener之后,[{port,12345}像这样闭合括号]}。否则,当您尝试运行./rabbitmq-server时,它将显示错误(它将在配置文件的哪一行显示您有错误,以便您进行修复)。
现在启动服务器并登录管理器。检查“端口和上下文”下的侦听端口,以查看是否进行了更改。对其他服务器执行此操作,您将能够在一台具有不同侦听端口的计算机上运行任意数量的服务器。要在登录时自动启动RabbitMQ服务器,请使用启动应用程序。
对于Windows:
为Windows设置RabbitMQ与Linux上的设置非常相似。
确保已安装Erlang,然后下载Windows的最新版本并将其解压缩。
转到rabbit(您刚刚提取的文件夹)/ sbin->打开rabbitmq-defaults.bat文件并更改RABBITMQ_BASE以在其他位置创建默认文件夹,您应该将提取的文件夹的路径设置为例如C:/ rabbit_server-msg(这是我提取的文件夹)。
更改节点名称。打开rabbitmq-env.bat文件->查找RABBITMQ_NODENAME = rabbit @!HOSTNAME!并更改名称Rabbit(例如rabbitMSG @!HOSTNAME!)。在同一文件中,找到并更改RABBITMQ_NODE_PORT,默认情况下将其设置为5672。要更改默认群集端口,请找到并更改RABBITMQ_DIST_PORT,默认情况下将其设置为25672。
安装管理插件。导航到Rabbit-server / sbin并运行“ rabbitmq-plugins.bat enable rabbitmq_management”。
需要在配置文件中更改AMQP和HTTP端口。创建一个名为rabbitmq.config的文件,并从其GitHub复制代码。将文件放在安装文件夹/ RabbitMQ中(例如,我的配置在C:/ rabbit_server-msg / RabbitMQ中)。同样在rabbitmq-defaults.bat文件中,检查CONFIG_FILE,它应该设置为CONFIG_FILE =!RABBITMQ_BASE!\ rabbitmq。
打开配置文件并取消注释以下行:
– {tcp_listeners,[5672]}并更改端口号(建议设置与Rabbitmq-env中的RABBITMQ_NODE_PORT相同的端口号,例如5673)。
– {listener,[{port,12345},然后更改端口号(用于管理插件)。
注意:请注意逗号和括号。删除{tcp_listeners,[5672]}之后的逗号。同样在{listener之后,[{port,12345}像这样闭合括号]}。否则,当您尝试运行rabbitmq-server.bat时,它将显示错误(它将在配置文件的哪一行显示您有错误,以便您进行修复)。
现在启动服务器并登录管理器。检查“端口和上下文”下的侦听端口,以查看是否进行了更改。对其他服务器执行此操作,您将可以在一台计算机上根据需要在任意多个侦听端口上运行任意数量的服务器。
来源: https://lazareski.com/multiple-rabbitmq-instances-on-1-machine/