RocketMQ安装教程 一文中,详细探讨了如何搭建RocketMQ,这一节来搭建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) ,即可看到类似如下的界面:
热门评论
老师,按照您的步骤一步一步来的,用的也是4.5.1,但是maven打包的时候报错,是不是因为控制台的代码修改了
错误1: org.apache.rocketmq.console.service.client.MQAdminExtImpl不是抽象的, 并且未覆盖org.apache.rocketmq.tools.admin.MQAdminExt中的抽象方法resumeCheckHalfMessage(java.lang.String,java.lang.String)
这个错误我到代码里面修改了一下,把相关的方法都添加上去了打包后报了第二个错
错误2:Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check (validate) on project rocketmq-console-ng: Failed during checkstyle execution: There is 1 error reported by Checkstyle 6.11.2 with style/rmq_checkstyle.xml ruleset.
在4.5.1失败后我尝试了4.5.2,也是不行
作者自己是否在windows配置成功呢?
还是有问题,显示没有导入依赖,导入之后@Override有问题。最后根据你的课程写好生产者报错:
See http://rocketmq.apache.org/docs/faq/ for further details.; nested exception is org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, add-bonus
See http://rocketmq.apache.org/docs/faq/ for further details.] with root cause
org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, add-bonus
麻烦你自己看看能不能运行再来写文章好吧