Windows 11 环境下 RocketMQ 安装、搭建、使用及 Java 实战文档
Windows 11 环境下 RocketMQ 安装、搭建、使用及 Java 实战文档
专栏归属:Windows 11 Java 开发环境组件搭建专栏
文档用途:零基础完成 Windows 11 系统中 RocketMQ 环境部署、服务启动、可视化控制台配置,提供 Spring Boot 生产者 / 消费者实战示例
适用版本:JDK 8+(必备)、RocketMQ 4.9.6(Windows 稳定兼容版)、RocketMQ Dashboard 1.0.0(可视化控制台)
文档风格:标准排版、步骤可视化、避坑指南、Java 开发专属、代码可直接复制运行
目录
- 前置说明(核心必看)
- 环境准备:配置 JDK 环境
- RocketMQ 下载与解压
- Windows 必改配置:解决启动闪退
- 启动 RocketMQ 核心服务
- 命令行测试 RocketMQ 收发消息
- 安装可视化控制台 Dashboard
- Spring Boot 整合 RocketMQ 实战示例
- RocketMQ 常用服务命令
- 常见问题与解决方案
1. 前置说明(核心必看)
- 核心组件:RocketMQ 包含 NameServer(注册中心)、Broker(消息存储 / 转发),必须先启动 NameServer,再启动 Broker
- 版本选择:4.9.6 是 Windows 环境最稳定的版本,5.x 版本对 Windows 兼容性较差
- 路径要求:安装路径禁止中文、空格、特殊字符,否则启动失败
- 权限要求:所有操作使用 管理员权限 CMD 执行
- 端口说明:NameServer 默认端口
9876,Broker 默认端口10911
2. 环境准备:配置 JDK 环境
RocketMQ 基于 Java 开发,必须先安装 JDK 8 及以上版本,并配置系统环境变量:
- 验证 JDK 安装:管理员 CMD 输入命令,出现版本号即为正常
bash
运行
java -version javac -version - 未安装 JDK 可参考专栏前置文档,配置完成后再继续
3. RocketMQ 下载与解压
3.1 官方下载地址
稳定版下载:https://archive.apache.org/dist/rocketmq/4.9.6/rocketmq-all-4.9.6-bin-release.zip
3.2 解压安装
- 新建纯英文安装目录:
D:\Develop\RocketMQ - 将下载的压缩包直接解压到该目录
- 最终目录结构
plaintext
D:\Develop\RocketMQ ├─ bin # 启动脚本目录 ├─ conf # 配置文件目录 ├─ lib # 依赖包目录 └─ 其他文件
4. Windows 必改配置:解决启动闪退
Windows 系统默认内存不足,直接启动会闪退,必须修改 JVM 内存配置:
4.1 修改 NameServer 启动配置
打开目录:RocketMQ\bin\runserver.cmd找到如下配置行,修改内存大小:
cmd
原配置:set "JAVA_OPT=%JAVA_OPT% -server -Xms4g -Xmx4g -Xmn2g"
修改为:set "JAVA_OPT=%JAVA_OPT% -server -Xms512m -Xmx512m -Xmn256m"
4.2 修改 Broker 启动配置
打开目录:RocketMQ\bin\runbroker.cmd找到如下配置行,修改内存大小:
cmd
原配置:set "JAVA_OPT=%JAVA_OPT% -server -Xms8g -Xmx8g -Xmn4g"
修改为:set "JAVA_OPT=%JAVA_OPT% -server -Xms512m -Xmx512m -Xmn256m"
5. 启动 RocketMQ 核心服务
5.1 第一步:启动 NameServer(必须第一个启动)
- 管理员 CMD 切换到 RocketMQ 的 bin 目录
bash
运行
cd D:\Develop\RocketMQ\bin - 执行启动命令
bash
运行
mqnamesrv.cmd - 启动成功标志:控制台打印
The Name Server boot success,保持窗口不关闭
5.2 第二步:启动 Broker(核心消息服务)
- 新建一个管理员 CMD 窗口,同样切换到 bin 目录
- 执行启动命令(开启自动创建主题功能)
bash
运行
mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true - 启动成功标志:控制台打印
The broker boot success,保持窗口不关闭
⚠️ 重要:两个服务窗口都不能关闭,关闭即停止服务!
6. 命令行测试 RocketMQ 收发消息
6.1 启动消息生产者
新建 CMD 窗口,执行命令:
bash
运行
cd D:\Develop\RocketMQ\bin
tools.cmd org.apache.rocketmq.example.quickstart.Producer
成功后会自动发送测试消息
6.2 启动消息消费者
新建 CMD 窗口,执行命令:
bash
运行
cd D:\Develop\RocketMQ\bin
tools.cmd org.apache.rocketmq.example.quickstart.Consumer
成功后会接收生产者发送的消息,测试完成!
7. 安装可视化控制台 Dashboard
RocketMQ 无自带控制台,需单独部署 Dashboard 可视化管理工具:
7.1 下载源码
https://github.com/apache/rocketmq-dashboard/archive/refs/tags/rocketmq-dashboard-1.0.0.zip
7.2 修改配置
解压后打开 src/main/resources/application.yml,修改 NameServer 地址:
yaml
rocketmq:
config:
namesrvAddrs:
- 127.0.0.1:9876
7.3 打包运行
- 源码目录下,管理员 CMD 执行打包命令
bash
运行
mvn clean package -Dmaven.test.skip=true - 进入
target目录,运行 jar 包bash
运行
java -jar rocketmq-dashboard-1.0.0.jar - 访问控制台:http://localhost:8080可查看主题、队列、消息、消费者等信息
8. Spring Boot 整合 RocketMQ 实战示例
提供生产者 + 消费者完整代码,适配 Java 开发,直接复制运行
8.1 引入 Maven 依赖(pom.xml)
xml
<dependencies>
<!-- Spring Boot RocketMQ 核心依赖 -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
</dependencies>
8.2 配置文件(application.yml)
yaml
spring:
application:
name: rocketmq-demo
# RocketMQ 配置
rocketmq:
name-server: 127.0.0.1:9876
producer:
group: test-producer-group
send-message-timeout: 3000
8.3 消息生产者(发送消息)
java
运行
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class RocketMQProducer {
@Autowired
private RocketMQTemplate rocketMQTemplate;
// 测试发送消息
@GetMapping("/send")
public String sendMessage() {
// 参数:主题:标签 消息内容
String topic = "test_topic";
String message = "Hello RocketMQ! Windows11 + Spring Boot 测试消息";
rocketMQTemplate.convertAndSend(topic, message);
return "消息发送成功:" + message;
}
}
8.4 消息消费者(接收消息)
java
运行
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
// 监听主题和消费者组
@Component
@RocketMQMessageListener(
topic = "test_topic",
consumerGroup = "test-consumer-group"
)
public class RocketMQConsumer implements RocketMQListener<String> {
// 接收消息方法
@Override
public void onMessage(String message) {
System.out.println("成功接收消息:" + message);
}
}
8.5 测试运行
- 启动 Spring Boot 项目
- 浏览器访问:http://localhost:8080/send
- 控制台打印:成功接收消息:Hello RocketMQ! ...
- 可在 Dashboard 控制台查看主题和消息记录
9. RocketMQ 常用服务命令
表格
| 功能 | 管理员 CMD 命令 |
|---|---|
| 启动 NameServer | mqnamesrv.cmd |
| 启动 Broker | mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true |
| 查看 Broker 状态 | mqadmin clusterlist -n localhost:9876 |
| 创建主题 | mqadmin updateTopic -n localhost:9876 -t test_topic -b localhost:10911 |
| 查看所有主题 | mqadmin topicList -n localhost:9876 |
10. 常见问题与解决方案
- 启动脚本闪退原因:JVM 内存配置过大 → 解决方案:按文档修改
runserver.cmd/runbroker.cmd内存 - Broker 连接 NameServer 失败原因:NameServer 未启动 / 端口被占用 → 解决方案:先启动 NameServer,检查 9876 端口
- Java 连接超时原因:RocketMQ 服务未启动 / 配置地址错误 → 解决方案:启动双服务,核对 name-server 地址
- 控制台无法访问原因:Dashboard 未启动 / 端口 8080 被占用 → 解决方案:启动 jar,修改端口重新运行
- 路径报错解决方案:更换纯英文、无空格的安装路径
文档规范说明
- 格式统一:沿用专栏标准 Markdown 排版,层级清晰、目录可跳转、重点标注
- 零门槛:步骤拆解细致,命令 / 代码可直接复制,适配零基础 Windows 11 用户
- Java 专属:实战示例基于 Spring Boot,完全贴合 Java 后端开发场景
- 避坑全覆盖:针对 Windows 系统高频问题(闪退、内存、路径、端口)提供解决方案
- 完整可用:从环境部署到实战测试,一站式完成 RocketMQ 搭建使用
更多推荐




所有评论(0)