rocketmq控制台是官方维护的独立spring boot应用,用于可视化管理rocketmq集群,部署需jdk 1.8+、连通nameserver(9876端口)、开放控制台端口(默认8080),通过编译源码或下载jar包,配置namesrvaddr等参数后启动,并推荐启用登录认证与acl适配。

RocketMQ 控制台(即 rocketmq-dashboard)不是 RocketMQ 内置组件,而是官方维护的独立 Spring Boot 应用,用于连接运行中的 RocketMQ 集群,提供 Topic 管理、消费者组监控、消息轨迹追踪、堆积告警等可视化能力。在 Linux 服务器上部署它,核心是编译/获取可执行 JAR、配置正确的 NameServer 地址、开放端口,并确保与集群网络连通。
确认前置依赖已就绪
控制台本身不处理消息,只做读取和管理,但它依赖以下基础环境:
- JDK 1.8 或更高版本(推荐 OpenJDK 8u400+ 或 Oracle JDK 8u291+),需配置
JAVA_HOME并加入PATH - 目标 RocketMQ 集群已稳定运行(至少一个 NameServer + 一个 Broker),且
namesrvAddr可被控制台服务器访问(注意内网互通、防火墙/安全组放行 9876 端口) - 控制台所在服务器需开放自身端口(默认 8080,可自定义),供浏览器访问
获取并启动 rocketmq-dashboard
推荐使用 Apache 官方维护的最新稳定版(如 rocketmq-dashboard-2.0.0 或更高)。操作步骤如下:
- 下载源码或预编译包:从 GitHub 仓库 获取 release 版本,或直接拉取源码:
git clone https://www.php.cn/link/ca04bf91675522debb01117dde6aede0.git - 修改配置文件:
编辑src/main/resources/application.yml(或打包后通过 JVM 参数覆盖),关键项包括:
rocketmq.config.namesrvAddr: 192.168.1.10:9876;192.168.1.11:9876(填入你的 NameServer 集群地址,多个用分号隔开)
server.port: 18001(避免与常用服务冲突) - 构建并启动:
进入项目根目录,执行:mvn clean package -Dmaven.test.skip=true
生成 JAR 后,运行:nohup java -jar target/rocketmq-dashboard-2.0.0.jar --server.port=18001 --rocketmq.config.namesrvAddr="192.168.1.10:9876;192.168.1.11:9876" > dashboard.log 2>&1 &
启用基础安全控制(可选但推荐)
生产环境不应裸奔暴露控制台。建议开启登录认证:
- 在
application.yml中启用登录:rocketmq.config.loginRequired: true - 配置用户账号密码(支持多用户):
创建users.properties文件(与 JAR 同目录),格式为:admin=123456,1(逗号后1表示管理员权限) - 若 RocketMQ 集群已开启 ACL(
aclEnable=true),还需确保控制台使用的accessKey和加密secretKey与conf/plain_acl.yml中一致,并在配置中指定:rocketmq.config.accessKey: adminrocketmq.config.secretKey: xxxxxx(用AuthUtil工具生成)
验证与日常使用要点
启动成功后,通过浏览器访问 http://[服务器IP]:18001 即可打开界面。首次加载可能稍慢,重点验证:
- 首页「Cluster Overview」是否列出所有 NameServer 和 Broker,状态为 UP
- 点击任意 Broker,查看「Consumer List」能否拉取到活跃消费者组
- 在「Message」页输入一条已知 Message ID,确认能查到发送时间、Topic、消费状态及轨迹
- 尝试创建一个测试 Topic(如
test-dashboard-topic),观察是否能在 Broker 节点上通过mqadmin topicList查到
控制台不替代专业监控系统(如 Prometheus + Grafana),但它是最轻量、最直观的集群“第一眼健康检查工具”。只要 NameServer 地址正确、网络通畅、JVM 资源充足(建议 1G 堆内存起步),部署过程本身并不复杂。











