1.环境准备
先提前安装好JDK(必须安装),配置好JDK环境变量。
2.配置RocketMQ环境变量
从官网上下载RocketMQ压缩包,然后解压,压缩后目录结构如下:
解压完后需要配置RocketMQ环境变量
(注:必须配置ROCKETMQ_HOME环境变量,否则会导致Namesrv和Broker无法启动)
变量名:ROCKETMQ_HOME
变量值:D:\jx\rocketmq\rocketmq-all-5.1.3-bin-release(RecketMQ的安装目录)
3.启动RecoketMQ
在生产环境中,为了避免误点导致应用程序关闭以及能做到开机自启动等功能,我们使用winsw将程序制作成Windows服务,方便维护和管理。
3.1给namesrv和broker分配内存(根据服务器性能和数据量自定义分配内存)
在RocketMQ安装目录下找到bin文件夹(D:\jx\rocketmq\rocketmq-all-5.1.3-bin-release\bin),编辑runserver.cmd文件和runbroker.cmd文件
3.2修改日志存储默认路径
namesrv和broker默认日志存储在C盘,空间占用量大,需修改下默认存储路径。
在RocketMQ安装目录下找到conf文件夹(D:\jx\rocketmq\rocketmq-all-5.1.3-bin-release\conf),编辑rmq.broker.logback.xml文件和rmq.namesrv.logback.xml文件
##编写property标签, 把user.home全局替换为log.path
<property name="log.path" value="D:/jx/rocketmq/" />
3.3启动NameServer
为了方便区分不同服务修改winsw.exe名称修改为rocketMQNamesrv.exe,winsw.xml名称修改为rocketMQNamesrv.xml(名称可自定义),并修改rocketMQNamesrv.xml配置内容。
<service>
<id>rocketNamesrv</id>
<name>rocketMQNamesrv</name>
<description>消息队列Namesrv启动服务</description>
<env name="ROCKETMQ_HOME" value="%ROCKETMQ_HOME%"/>
<executable>"%ROCKETMQ_HOME%\bin\mqnamesrv.cmd"</executable>
<arguments></arguments>
<startmode>Automatic</startmode>
<logpath>%BASE%\log</logpath>
<logmode>rotate</logmode>
</service>
##在windows的cmd控制台执行如下指令
##安装服务指令
rocketMQNamesrv.exe install
##执行服务指令
rocketMQNamesrv.exe start
3.4启动Broker
在RocketMQ安装目录下找到conf文件夹(D:\jx\rocketmq\rocketmq-all-5.1.3-bin-release\conf),编辑broker.conf文件,指定broker产生的文件的存储路径以及配置broker的相关属性。
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
namesrvAddr=192.168.1.148:9876
#存储路径
storePathRootDir=D:/jx/rocketmq/data/store
#commitLog 存储路径
storePathCommitLog=D:/jx/rocketmq/data/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=D:/jx/rocketmq/data/store/consumequeue
#消息索引存储路径
storePathIndex=D:/jx/rocketmq/data/store/index
#checkpoint 文件存储路径
storeCheckpoint=D:/jx/rocketmq/data/store/checkpoint
#abort 文件存储路径
abortFile=D:/jx/rocketmq/data/store/abort
为了方便区分不同服务修改winsw.exe名称修改为rocketMQBroker.exe,winsw.xml名称修改为rocketMQBroker.xml(名称可自定义),并修改rocketMQBroker.xml配置内容。
<service>
<id>rocketMQBroker</id>
<name>rocketMQBroker</name>
<description>消息队列Broker启动服务</description>
<env name="ROCKETMQ_HOME" value="%ROCKETMQ_HOME%"/>
<executable>"%ROCKETMQ_HOME%\bin\mqbroker.cmd"</executable>
<arguments>-n 0.0.0.0:9876 -c "%ROCKETMQ_HOME%\conf\broker.conf"</arguments>
<logpath>%BASE%\log</logpath>
<logmode>rotate</logmode>
</service>
##在windows的cmd控制台执行如下指令
##安装服务指令
rocketMQBroker.exe install
##执行服务指令
rocketMQBroker.exe start
3.5 启动可视化管理控制台
打开rocketmq-externals-master源码,修改rocketmq-console下的application.properties文件,修改平台访问端口,监控的namesrv地址以及console控制台的日志存储文件地址,并用maven打包。
<service>
<id>rocketMQConsole</id>
<name>rocketMQConsole</name>
<description>消息队列后台服务</description>
<executable>java</executable>
<arguments>-jar "%BASE%\rocketMQConsole.jar"</arguments>
<logpath>%BASE%\log</logpath>
<logmode>rotate</logmode>
</service>
##在windows的cmd控制台执行如下指令
##安装服务指令
rocketMQConsole.exe install
##执行服务指令
rocketMQConsole.exe start
运行后即可访问控制台