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 开发专属、代码可直接复制运行


目录

  1. 前置说明(核心必看)
  2. 环境准备:配置 JDK 环境
  3. RocketMQ 下载与解压
  4. Windows 必改配置:解决启动闪退
  5. 启动 RocketMQ 核心服务
  6. 命令行测试 RocketMQ 收发消息
  7. 安装可视化控制台 Dashboard
  8. Spring Boot 整合 RocketMQ 实战示例
  9. RocketMQ 常用服务命令
  10. 常见问题与解决方案

1. 前置说明(核心必看)

  1. 核心组件:RocketMQ 包含 NameServer(注册中心)、Broker(消息存储 / 转发),必须先启动 NameServer,再启动 Broker
  2. 版本选择:4.9.6 是 Windows 环境最稳定的版本,5.x 版本对 Windows 兼容性较差
  3. 路径要求:安装路径禁止中文、空格、特殊字符,否则启动失败
  4. 权限要求:所有操作使用 管理员权限 CMD 执行
  5. 端口说明:NameServer 默认端口 9876,Broker 默认端口 10911

2. 环境准备:配置 JDK 环境

RocketMQ 基于 Java 开发,必须先安装 JDK 8 及以上版本,并配置系统环境变量:

  1. 验证 JDK 安装:管理员 CMD 输入命令,出现版本号即为正常

    bash

    运行

    java -version
    javac -version
    
  2. 未安装 JDK 可参考专栏前置文档,配置完成后再继续

3. RocketMQ 下载与解压

3.1 官方下载地址

稳定版下载:https://archive.apache.org/dist/rocketmq/4.9.6/rocketmq-all-4.9.6-bin-release.zip

3.2 解压安装

  1. 新建纯英文安装目录:D:\Develop\RocketMQ
  2. 将下载的压缩包直接解压到该目录
  3. 最终目录结构

    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(必须第一个启动)

  1. 管理员 CMD 切换到 RocketMQ 的 bin 目录

    bash

    运行

    cd D:\Develop\RocketMQ\bin
    
  2. 执行启动命令

    bash

    运行

    mqnamesrv.cmd
    
  3. 启动成功标志:控制台打印 The Name Server boot success保持窗口不关闭

5.2 第二步:启动 Broker(核心消息服务)

  1. 新建一个管理员 CMD 窗口,同样切换到 bin 目录
  2. 执行启动命令(开启自动创建主题功能)

    bash

    运行

    mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true
    
  3. 启动成功标志:控制台打印 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 打包运行

  1. 源码目录下,管理员 CMD 执行打包命令

    bash

    运行

    mvn clean package -Dmaven.test.skip=true
    
  2. 进入 target 目录,运行 jar 包

    bash

    运行

    java -jar rocketmq-dashboard-1.0.0.jar
    
  3. 访问控制台: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 测试运行

  1. 启动 Spring Boot 项目
  2. 浏览器访问:http://localhost:8080/send
  3. 控制台打印:成功接收消息:Hello RocketMQ! ...
  4. 可在 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. 常见问题与解决方案

  1. 启动脚本闪退原因:JVM 内存配置过大 → 解决方案:按文档修改 runserver.cmd/runbroker.cmd 内存
  2. Broker 连接 NameServer 失败原因:NameServer 未启动 / 端口被占用 → 解决方案:先启动 NameServer,检查 9876 端口
  3. Java 连接超时原因:RocketMQ 服务未启动 / 配置地址错误 → 解决方案:启动双服务,核对 name-server 地址
  4. 控制台无法访问原因:Dashboard 未启动 / 端口 8080 被占用 → 解决方案:启动 jar,修改端口重新运行
  5. 路径报错解决方案:更换纯英文、无空格的安装路径

文档规范说明

  1. 格式统一:沿用专栏标准 Markdown 排版,层级清晰、目录可跳转、重点标注
  2. 零门槛:步骤拆解细致,命令 / 代码可直接复制,适配零基础 Windows 11 用户
  3. Java 专属:实战示例基于 Spring Boot,完全贴合 Java 后端开发场景
  4. 避坑全覆盖:针对 Windows 系统高频问题(闪退、内存、路径、端口)提供解决方案
  5. 完整可用:从环境部署到实战测试,一站式完成 RocketMQ 搭建使用
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐