RocketMQ源码解析之Windows环境部署
- 下载rocketmq,选择binary
- 解压后,配置环境变量ROCKETMQ_HOME,变量值是MQ解压路径\MQ文件夹名
- cmd命令跳转至MQ解压路径\MQ文件夹名\bin 路径下,执行start mqnamesrv.cmd
新弹出的窗口显示错误: 找不到或无法加载主类 org.apache.rocketmq.namesrv.NamesrvStartup
原因是没有设置好ROCKETMQ_HOME,我出现这个问题的原因是在之前用idea搭建rocketmq源码环境时已经设置了环境变量,和新下载的不再同一个路径下,重新设置成解压后的路径就行了
不设置环境变量也可以,修改bin\目录下的两个文件mqnamesrv.cmd和mqbroker.cmd(比较麻烦,不建议这么操作,我这是因为需要源码和二进制两套路径,才这样设置的)
以mqnamesrv.cmd为例,将%ROCKETMQ_HOME%设置成MQ解压路径\MQ文件夹名,mqbroker.cmd也是一样的修改
修改前:
修改后:
设置成功后执行start mqnamesrv.cmd会弹出新窗口
执行start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
成功后弹出的两个窗口勿关闭
4、下载rocketmq插件
从gitee或者GitHub下载rocketmq-externals
下载地址:https://github.com/apache/rocketmq-externals.git (用下面这个地址)
这个仓库下的rocketmq-console移到了另一个位置:https://github.com/apache/rocketmq-dashboard
下载完成之后,进入‘rocketmq-externals\rocketmq-dashboard\src\main\resources’文件夹,打开‘application.properties’进行配置。
利用mvn clean package -Dmaven.test.skip=true 或者借助idea重新编译rocketmq-dashboard,
编译成功之后,Cmd进入‘target’文件夹,执行‘java -jar rocketmq-dashboard-2.0.0.jar’,运行‘rocketmq-dashboard-2.0.0.jar’。
在页面执行http://127.0.0.1:8088,按自己实际配置情况
5、将RocketMQ做成Windows服务
(1)首先将ROCKERME 目录\bin下的play.cmd转换为play.exe
(2)将exe注册成windows服务,需要instsrv.exe和srvany.exe插件,将这两个exe放到rocketmq目录\bin目录下
(3)cmd以管理员身份运行,其中ROCKETMQ为服务名称
(4)修改注册表regedit.exe
进入注册表在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下找到刚刚注册的服务名RocketMQ,在RocketMQ新建一个项,名称为“Parameters”,
单击选中它然后在右侧的窗口新建一个字符串值名称为Application, 将其值设置为你针要做为服务运行的程序的路径,新建字符串值名称AppDirectory,值为程序所在的路径
(5)在服务管理器中启动RocketMQ
6、启动java -jar rocketmq-dashboard-2.0.0.jar 看程序是否报错,如不报错,则在浏览器输入http://127.0.0.1:8088/#/
在浏览器打开http://127.0.0.1:8088/后,显示出如下界面则表示搭建成功