RocketMQ Dashboard 的安装及使用

摘要

  • 本文介绍 CentOS9 中 RocketMQ Dashboard 的安装与使用。

  • RocketMQ官网

  • 本文使用的 RocketMQ 版本为 5.3.2。

RocketMQ Dashboard 简介

  • 官方文档

  • RocketMQ Dashboard 是 RocketMQ 的管控利器,为用户提供客户端和应用程序的各种事件、性能的统计信息,支持以可视化工具代替 Topic 配置、Broker 管理等命令行操作。

  • 功能概览

面板 功能说明
运维 修改 NameServer 地址;选择 VIPChannel 等运维配置。
驾驶舱 查看 Broker、Topic 消息量 等运行总览信息。
集群 查看 集群分布、Broker 配置、运行状态及详细信息。
主题(Topic) 搜索、筛选、删除、更新/新增主题;查看 消息路由;执行 发送消息重置消费位点 等操作。
消费者(Consumer) 搜索、删除、新增/更新消费者组;查看 终端信息、消费详情、配置项
消息(Message) 查看 消息记录、死信消息、消息轨迹 等消息级详情。
  • 系统要求 与 网络配置

类别 项目 说明
系统要求 操作系统 Linux / Unix / macOS
JDK 64 位 JDK, 1.x 版本需要1.8+,2.x版本需要 17+
构建工具 Maven 3.2.x 或更高版本
启动项 启动 RocketMQ(包括 NameServer 与 Broker)
网络配置 网络访问 云服务器需可远程访问,或本地虚拟机需可 PING 通外网

RocketMQ Dashboard 的安装

  • 部署 RocketMQ Dashboard 2.x,需要安装 JDK17

  • 源码安装,源码下载

1
2
3
4
5
6
# 下载源码
cd /usr/local/soft/rocketmq
wget https://github.com/apache/rocketmq-dashboard/archive/refs/tags/rocketmq-dashboard-2.1.0.tar.gz
tar -zxvf rocketmq-dashboard-2.1.0.tar.gz
ln -s rocketmq-dashboard-rocketmq-dashboard-2.1.0 rocketmq-dashboard
cd rocketmq-dashboard
  • bug 修复,当前2.1.0版本存在bug,只能通过http://localhost:8082访问,如果需要ip或域名访问,则需要修改源码

1
2
3
4
5
6
7
8
9
10
11
cd frontend-new/src/api/remoteApi
sed -i 's|apiBaseUrl: '\''http://localhost:8082'\''|apiBaseUrl: process.env.REACT_APP_API_BASE_URL \|\| window.location.origin|' remoteApi.js.bck

# 替换前:
const appConfig = {
apiBaseUrl: 'http://localhost:8082'
};
# 替换后:
const appConfig = {
apiBaseUrl: process.env.REACT_APP_API_BASE_URL || window.location.origin
};
环境 环境变量值 结果 (appConfig.apiBaseUrl)
开发环境 REACT_APP_API_BASE_URL=http://localhost:8080 http://localhost:8080
测试环境 REACT_APP_API_BASE_URL=https://api.test.example.com https://api.test.example.com
未设置变量 (无该环境变量) 则使用默认的 window.location.origin,其表示 当前网页的 协议 + 域名 + 端口号 自动使用当前网站地址,如 https://myapp.example.com

目前2.1.0版本的bug还比较多,GitHub仓库中的代码已经修复了包括该bug在内的部分bug,不过还没有发布到 release。
着急的小伙伴可以通过 git clone 项目,编译并运行,或者等待作者发布新版本。

  • 编译

1
2
3
4
5
6
cd /usr/local/soft/rocketmq/rocketmq-dashboard
# 编译
JAVA_HOME=/usr/local/jdk/jdk17 mvn clean package -Dmaven.test.skip=true
# 将jar包复制到run目录下,以避免重新编译时被覆盖
mkdir run
cp target/rocketmq-dashboard-2.1.0.jar run/
  • 按需替换配置,

1
2
3
4
5
6
7
8
9
10
11
12
# vim run/application.yaml # 按需替换配置

rocketmq:
config:
namesrvAddrs: # 填写NameServer地址列表
- 10.250.0.175:9876
- 10.250.0.188:9876
- 10.250.0.131:9876
proxyAddrs: # 填写Proxy地址列表
- 10.250.0.175:8080
- 10.250.0.188:8080
- 10.250.0.131:8080
  • 启动

1
2
3
4
5
6
cd run
# 启动,默认会加载与jar包同级目录下的application.yaml文件
nohup /usr/local/jdk/jdk17/bin/java -jar rocketmq-dashboard-2.1.0.jar 1>dashboard.log 2>&1 &

# 查看日志
tail -f dashboard.log