RocketMQ在window上的部署遇到的问题和简单测试

本文详细介绍如何在Windows环境下从零开始部署RocketMQ消息中间件,包括下载源码、使用Maven打包、设置环境变量、启动NameServer和Broker等步骤,以及通过示例客户端发送消息并验证结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

以下内容都是参考官网文档实例进行部署和测试

文档地址:http://rocketmq.apache.org/docs/quick-start/

环境:
64bit JDK 1.8+
Maven 3.2.x;
4g+ free disk for Broker server

二、开始

1.下载源码压缩包

http://mirror.bit.edu.cn/apache/rocketmq/4.5.1/rocketmq-all-4.5.1-source-release.zip

2.使用mvn打包

cd rocketmq-all-4.4.0/

mvn -Prelease-all -DskipTests clean install -U

3.设置环境变量

ROCKETMQ_HOME =  F:\RocketMQ\rocketmq-all-4.5.1\distribution\target\rocketmq-4.5.1\rocketmq-4.5.1

路径改为bin目录的上一级,并确定该目录有存放jar包的lib文件夹,否则待会启动不成功

4.启动Name Server

start bin/mqnamesrv.cmd

5.启动Broker

start bin/mqbroke.cmd r -n localhost:9876

6.启动客户端发送消息

RocketMQ提供了一个简单的客户端发送示例

set NAMESRV_ADDR=localhost:9876
start bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

结果如下, sendStatus=SEND_OK 表示成功
...
SendResult [sendStatus=SEND_OK, msgId=C0A8010824DC18B4AAC280DBEE640063, offsetMsgId=C0A8010800002A9F00000000000303E1, messageQueue=MessageQueue [topic=TopicTest, brokerName=6YQTNXM2CO12UXI, queueId=2], queueOffset=274]
...

7.小结

官网文档示例linux下的 ,在window上部署的同学可能会遇到一些小坑:

  • 启动namesrv的时候提示:Please set the ROCKETMQ_HOME variable in your
    environment! 或者是无法找到主类, 这两个提示说明没有配置正确的环境变量,只要按照我上面的环境变量路径填写要求就能保证可以启动
### 在 Windows 上安装配置 RocketMQ #### 准备工作 为了顺利在 Windows 系统上安装并配置 RocketMQ 版本 4.4.0 release,需先确认已准备好 Java 运行环境以及下载好对应的 RocketMQ 安装文件[^1]。 #### 设置 JAVA_HOME 变量 确保系统的 `JAVA_HOME` 环境变量已经设置指向 JDK 的安装路径。这一步骤对于启动 RocketMQ 所必需的服务至关重要,因为这些服务依赖于 Java 来执行。 #### 解压 RocketMQ 压缩包 将下载得到的压缩文件解压到指定目录下,比如 C:\rocketmq 文件夹内。此操作可以通过任何支持 ZIP 或 TAR.GZ 格式的解压缩工具完成。 #### 配置 NameServer Broker 进入解压后的 rocketmq\bin 目录,在命令提示符窗口中运行如下两条指令来分别启动 Name Server Broker: ```shell rem 启动NameServer start mqnamesrv.cmd rem 启动Broker,默认会连接本地的NameServer start mqbroker.cmd -n localhost:9876 auto_create_topic_enable=true ``` 上述命令中的 `-n localhost:9876` 参数指定了 NameServer 的地址;而 `auto_create_topic_enable=true` 则允许自动创建不存在的主题。 #### 测试消息发送接收功能 通过提供的客户端工具测试消息能否正常收发。可以利用自带的例子程序来进行简单的验证: ```java // 发送消息实例代码片段 DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name"); producer.setNamesrvAddr("localhost:9876"); // 设定NameServer地址 producer.start(); { Message msg = new Message("TopicTest", "TagA", "Hello world".getBytes(RemotingHelper.DEFAULT_CHARSET)); SendResult sendResult = producer.send(msg); } producer.shutdown(); // 接受消息实例代码片段 DefaultLitePullConsumer consumer = new DefaultLitePollingConsumer("example_group_name"); consumer.setNamesrvAddr("localhost:9876"); consumer.subscribe("TopicTest", "*"); consumer.registerMessageListener((msgs, context) -> { msgs.forEach(System.out::println); }); consumer.start(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值