如何在Windows中开启多个Rabbitmq服务以及如何搭建单机伪集群

1、安装Eralng和Rabbitmq在电脑中,这点不用说,网上一大堆方法。(默认的端口时5672,服务的web时15672)

2、由于是要在windows开启多个Rabbitmq服务,就不能在环境变量中设置RABBITMQ_NODE_PORT和RABBITMQ_NODENAME这两个属性,应该在环境配置文件中修改,以下一步步分解过来

    2.1)复制安装目录下的sbin/的所有bat文件,依然保存在sbin中,不过必须重命名,我是在后面添加-cluster1

rabbitmq-defaults.bat
rabbitmq-diagnostics-cluster1.bat
rabbitmq-diagnostics.bat
rabbitmq-echopid-cluster1.bat
rabbitmq-echopid.bat
rabbitmq-env-cluster1.bat
rabbitmq-env.bat
rabbitmq-plugins-cluster1.bat
rabbitmq-plugins.bat
rabbitmq-server-cluster1.bat
rabbitmq-server.bat
rabbitmq-service-cluster1.bat
rabbitmq-service.bat
rabbitmqctl-cluster1.bat
rabbitmqctl.bat

    同时设置windows的配置环境添加 RABBITMQ_BASE=rabbitmq的安装根目录(这一步很重要),这是因为在rabbitmq-env.bat中存在了大量的根目录宏RABBITMQ_BASE,rabbitmq需要借此找到根目录,或者你也可以直接在rabbitmq-env.bat定义RABBITMQ_BASE的值而不再环境变量中添加,这里由于我不太懂Erlang所以暂时跳过。

    2.2)修改rabbitmq的web页面的端口

    在安装目录下,找到etc/rabbitmq.config.example,复制并重命名到同一目录下,例如rabbitmq-cluster1.config,修改其中的542的listener内容

  {listener, [{port,     15673},
                {ip,       "127.0.0.1"},
                {ssl,      false}]}

    2.3)修改rabbitmq-env-cluster1.bat

    rabbitmq-env-cluster1.bat应该时表示rabbitmq服务的环境变量的定义,所以这里要添加RABBITMQ_NODE_PORT以及服务器名RABBITMQ_NODENAME,添加到16行的下面,同时也要修改web的端口号,这里只需要把RABBITMQ_CONFIG_FILE指向配置文件的地址

set RABBITMQ_NODENAME=rabbit1@node1
set RABBITMQ_NODE_PORT=5673
set RABBITMQ_CONFIG_FILE=%RABBITMQ_BASE%\etc\rabbitmq-cluster1.config

    2.4)修改rabbitmq-service-cluster1.bat脚本的环境文件的位置,找到下面这一句的位置

call "%TDP0%\rabbitmq-env.bat" %~n0

    然后修改成我们新的env文件名

call "%TDP0%\rabbitmq-env-cluster1.bat" %~n0

    2.5)光是修改了web的监听端口还是不行,因为web只是一个插件,你还需要重新设置插件才行

    打开rabbitmq-plugins-cluster1.bat,找到下面这句

call "%TDP0%\rabbitmq-env.bat" %~n0

  修改成我们新的env文件的位置

call "%TDP0%\rabbitmq-env-cluster1.bat" %~n0

  然后在sbin目录下执行命令 

 .\rabbitmq-plugins-cluster1.bat enable rabbitmq_management

   2.6)这样就可以启动端口号为5673的服务

./rabbitmq-service-cluster1.bat

    2.7)搭建单机伪集群

    修改rabbitmq-diagnostics-cluster1.bat和rabbitmqctl-cluster1.bat,将其中的环境变量文件指向该节点的环境变量文件

call "%TDP0%\rabbitmq-env-cluster1.bat" %~n0

    这样我们就修改了全部的cluster1节点的脚本的环境变量文件,这样启动时就回去寻找该环境变量文件。

    接下来reset节点1的元数据(rabbitmqctl会实现找到环境变量文件对应的端口的Rabbitmq,所以可以不用指定-n)

 .\rabbitmqctl-cluster1.bat reset

然后关闭该节点,并将该节点假如到当前运行中的节点上去(使用join_cluster),然后重启

.\rabbitmqctl-cluster1.bat stop_app
.\rabbitmqctl-cluster1.bat join_cluster rabbit@XXXX
.\rabbitmqctl-cluster1.bat start_app

这样伪集群就搭建好了,也可以在各个节点的web中看到结果

    

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值