一、alibaba 版本
使用 rocketmq 命令查看集群状态,查看 topic 信息时比较麻烦,而且不直观,这个时候可以使用一些 web 页面来管理 rocketmq。
以前曾使用过一个老版本的工具,适用于 alibaba 版本(贡献至 apache 之前的版本),
这里只共享一个安装包的百度网盘连接:https://pan.baidu.com/s/1mhM0cDM
使用方法也比较简单:
1、在 linux 下安装 jdk
2、在 linxu 下安装 tomcat
3、使用编译环境(eclipse 或 intellij)编译上述下载的程序
4、将编译后的 war 包上传到 tomcat 的 webapps 目录下
5、启动 tomcat。
6、从 windows 端通过浏览器访问即可。
二、apache 版本
贡献给 apache 之后,上面的那个工具就无法使用了,不过今天从网上找到了个新的管理界面。
github 地址:https://github.com/apache/incubator-rocketmq-externals
2018 年 1 月 23 日,更新最新 github 地址为:https://github.com/apache/rocketmq-externals
参照帮助文件使用即可:
帮助文档路径:https://github.com/apache/incubator-rocketmq-externals/blob/master/rocketmq-console/README.md
具体如下:
1、修改配置文件,使管理界面与 rocketmq 集群产生关联。
incubator-rocketmq-externals-master/rocketmq-console/src/main/resources/application.properties
修改内容及修改结果如下图所示:
2、编译rocketmq-console
编译命令:mvn clean package -Dmaven.test.skip=true(注意:不要直接使用 mvn package,会提示很多错误)
3、将编译好的 jar 包上传到 linux 服务器
(如果直接在 Linux 环境上编译,可以省略这步)
我这里上传到了本地虚拟机 192.168.6.5 上。路径为:/home/hadmin/jar
4、运行 jar 包
命令:java -jar target/rocketmq-console-ng-1.0.0.jar
5、使用浏览器访问管理界面
方位地址:http://192.168.6.5:8080/
6、可能遇到的问题
画面可以正常启动,不过从控制台的监控日志上看,存在如下的错误日志。
org.apache.rocketmq.remoting.exception.RemotingTimeoutException: wait response on the channel <192.168.1.80:10918> timeout, 5000(ms)
原因是 isVIPChannel 默认为 true,会监控 rocketmq 的 vip 通道,将该属性设置为 false 即可。
设置后的配置文件如下所示:
server.contextPath= server.port=8080 #spring.application.index=true spring.application.name=rocketmq-console spring.http.encoding.charset=UTF-8 spring.http.encoding.enabled=true spring.http.encoding.force=true logging.config=classpath:logback.xml #if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876 rocketmq.config.namesrvAddr=192.168.1.80:9876;192.168.1.81:9876 #if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true rocketmq.config.isVIPChannel=false #rocketmq-console's data path:dashboard/monitor rocketmq.config.dataPath=/home/hadmin/data/rocketmq #set it false if you don't want use dashboard.default true rocketmq.config.enableDashBoardCollect=true
–END–