这一节来搭建RocketMQ控制台,RocketMQ的可视化管理界面。
一、下载代码
方式一、git下载,执行如下命令
git clone https://github.com/apache/rocketmq-externals.git
方式二、直接下载,访问如下地址即可
https://github.com/apache/rocketmq-externals/archive/master.zip
二、修改控制台代码
2.1 修改配置
找到rocketmq-console/src/main/resources/application.properties 根据需求,修改配置
# 管理后台访问上下文路径,默认为空 # 如果填写,需写成/xxx的形式,例如/console server.contextPath= # 控制台的端口 server.port=8080 ... # if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876 # Name Server地址 rocketmq.config.namesrvAddr= # if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true rocketmq.config.isVIPChannel= #rocketmq-console's data path:dashboard/monitor rocketmq.config.dataPath=/tmp/rocketmq-console/data #set it false if you don't want use dashboard.default true rocketmq.config.enableDashBoardCollect=true #set the message track trace topic if you don't want use the default one rocketmq.config.msgTrackTopicName= rocketmq.config.ticketKey=ticket #Must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required rocketmq.config.loginRequired=false
笔者只修改了如下两项:
# console端口 server.port=17890 # name server地址 # 也可以不修改,在启动完console后,在控制台导航栏 - 运维 - NameSvrAddrList一栏设置 rocketmq.config.namesrvAddr=localhost:9876
2.2 修改依赖
修改 pom.xml ,修改RocketMQ相关依赖的版本
找到
<rocketmq.version>4.4.0</rocketmq.version> 修改为 <rocketmq.version>你的RocketMQ版本</rocketmq.version> 本文使用的是RocketMQ 4.5.1,故而改为 <rocketmq.version>4.5.1</rocketmq.version>
2.3 修改代码
修改pom.xml后,org.apache.rocketmq.console.service.impl.MessageServiceImpl#queryMessageByTopic编译会报错,所以需要解决一下。将
DefaultMQPullConsumer consumer = new DefaultMQPullConsumer(MixAll.TOOLS_CONSUMER_GROUP, null);
改为:
RPCHook rpcHook = null; DefaultMQPullConsumer consumer = new DefaultMQPullConsumer(MixAll.TOOLS_CONSUMER_GROUP, rpcHook);
即可。
2.4 打包构建
# 切换到代码根目录 cd rocketmq-externals # 切换到控制台目录 cd rocketmq-console # 构建 mvn clean package -DskipTests
三、懒人包
已经将修改好的RocketMQ控制台发布到GitHub了。
下载地址:https://github.com/eacdy/rocketmq-externals/releases
四、启动
java -jar rocketmq-console-ng-1.0.1.jar
五、访问
访问 http://localhost:17890 (端口用上面 application.properties 中的 server.port=17890 指定,默认是8080) ,即可看到类似如下的界面:
六、控制台使用说明
Q.E.D.