JDK和maven需要先安装好,我这里使用的JDK1.8版本 Maven 3.8.6版本。需要注意的是,这里配置java时需要指定JAVA_HOME环境变量
RokectMQ才能正常启动。
官网下载: https://rocketmq.apache.org/zh/download/
windows版本的RocketMQ安装,需要下载二进制版本。
RocketMQ默认的虚拟机内存较大,启动Broker如果因为内存不足失败,需要编辑如下两个配置文件,修改JVM内存大小。
但是这个也仅仅是在测试环境中,RocketMQ在生产上最低要求至少8G内存(官方推荐)才能确保RocketMQ的效果
编辑runbroker.sh和runserver.sh修改默认JVM大小(windows上对应cmd文件)
vi runbroker.sh --broker的配置
vi runserver.sh --nameServer的配置
参考设置:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
RocketMQ的物理架构中,都是需要先启动NameServer再启动Broker的。所以启动顺序一定不要搞反了。
cmd命令框执行进入至MQ文件夹\bin
下,然后执行start mqnamesrv.cmd
,启动NAMESERVER。成功后会弹出提示框,此框勿关闭。
start mqnamesrv.cmd
cmd命令框执行进入至MQ文件夹\bin
下,然后执行start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
,启动BROKER。成功后会弹出提示框,此框勿关闭。
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
假如弹出提示框提示‘错误: 找不到或无法加载主类 xxxxxx’。打开runbroker.cmd,然后将‘%CLASSPATH%’加上英文双引号。保存并重新执行start语句。
rocketmq取的默认路径是user.home路径,也就是用户的根目录,一般存储放在了路径下的 /store目录。
源码中可以得到验证,如下图:
所以这里会有一个问题,RocketMQ很容易导致C盘空间不够,在使用过程中,创建一个主题默认就是要创建1G的文件,很可能会导致出问题。
所以在windows上容易导致C盘空间吃满。
解决方式有两种:
1、修改源码,比如:全局替换user.home参数为mq.store,然后重新打包
2、使用源码方式启动,源码启动时通过参数设置指定存储位置
运行前确保:已经有jdk1.8,Maven(打包需要安装Maven 3.2.x)
下载:https://codeload.github.com/apache/rocketmq-externals/zip/master
这个包主要包含的是Message Connector,具体详情见https://rocketmq-1.gitbook.io/rocketmq-connector/
里面后端管理界面是:rocketmq-console
下载完成之后,进入\rocketmq-console\src\main\resources
文件夹,打开application.properties
进行配置。
进入\rocketmq-externals\rocketmq-console
文件夹,执行mvn clean package -Dmaven.test.skip=true
,编译生成。
编译成功之后,cmd进入target
文件夹,执行java -jar rocketmq-console-ng-2.0.0.jar
,启动rocketmq-console-ng-2.0.0.jar
。
浏览器中输入http://127.0.0.1:8089,成功后即可查看。