【后端】【Java配置】MacOS本地安装并运行RocketMQ

下面是一篇基于 Apache RocketMQ 官方文档 QuickStart(本地部署指南)整理的中文博客,包括安装、启动及消息收发示例,适合初学者快速上手 RocketMQ:


🚀 Apache RocketMQ 快速开始指南(本地部署 + 消息收发实战)

Apache RocketMQ 是一款高性能、分布式的消息中间件系统,广泛应用于实时消息传递、异步处理、事件驱动架构等场景。通过快速开始指南,你可以在本地完成 RocketMQ 的部署与消息生产/消费体验。(rocketmq.apache.org)


🧰 一、准备工作

在开始之前,确认你的本地环境满足以下条件:

✔ 64 位操作系统(推荐 Linux/Unix/macOS) ✔ 安装了 64 位 JDK(版本要求 ≥ 1.8)(rocketmq.apache.org)


📥 二、下载 & 安装 RocketMQ

RocketMQ 提供两种安装包:

🔹 二进制包 :已编译完成,可直接运行 🔹 源码包 :需要自己编译生成可执行文件(rocketmq.apache.org)

安装流程示例(以源码包为例,Linux 环境):

复制代码
 # 解压源码包
 unzip rocketmq-all-5.3.2-source-release.zip
 cd rocketmq-all-5.3.2-source-release/
 ​
 # 编译构建二进制文件
 mvn -Prelease-all -DskipTests -Dspotbugs.skip=true clean install -U
 ​
 # 进入构建好的目录
 cd distribution/target/rocketmq-5.3.2/rocketmq-5.3.2

https://rocketmq.apache.org/docs/quickStart/01quickstart官网点击这里下载

然后下载并解压

然后运行下述命令

  1. 进入到解压后的目录下
复制代码
 cd rocketmq-all-5.3.2-source-release/
  1. 构建
复制代码
 mvn -Prelease-all -DskipTests -Dspotbugs.skip=true clean install -U
  1. 进入构建后的目录
复制代码
 cd distribution/target/rocketmq-5.3.2/rocketmq-5.3.2

📌 编译完成后,会在 distribution/target/... 目录下生成可直接运行的 RocketMQ 文件。(rocketmq.apache.org)


🚀 三、启动 RocketMQ 服务

RocketMQ 有两个关键组件需要启动:

组件 功能
NameServer 路由服务
Broker 消息存储与转发服务

1. 启动 NameServer

复制代码
 nohup sh bin/mqnamesrv &

启动成功后,可以通过查看日志确认:

复制代码
 tail -f nohup.out
 # 信息中出现 “The Name Server boot success..” 表示启动成功

2. 启动 Broker

复制代码
 nohup sh bin/mqbroker -n localhost:9876 &

📌 -n 参数指定 NameServer 地址(本地环境就是 localhost:9876)。 启动成功后日志会显示类似:

复制代码
 The broker[brokerName,ip:port] boot success..

表示 Broker 启动成功。(rocketmq.apache.org)

  1. 启动NameServer
复制代码
 nohup sh bin/mqnamesrv &
  1. 查看启动日志
复制代码
 tail -f ~/logs/rocketmqlogs/namesrv.log

可以看到类似这样启动成功的提示语句

复制代码
 The Name Server boot success...

✉ 四、发送与接收消息(使用官方工具)

RocketMQ 提供了内置的发送和消费演示工具,可以直接通过命令行来体验消息流:

1. 设置 NameServer 地址环境变量:

复制代码
 export NAMESRV_ADDR=localhost:9876

2. 发送消息

复制代码
 sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

如果发送成功,会打印类似:

复制代码
 SendResult [sendStatus=SEND_OK, msgId=...]

3. 接收消息

复制代码
 sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

消费端会输出接收到的消息内容。(rocketmq.apache.org)


🔍 五、小结 & 补充说明

🎯 到这里,你已经完成了:

✅ RocketMQ 二进制运行包的构建 ✅ NameServer 和 Broker 的启动 ✅ 简单消息的发送与消费

➡ RocketMQ 不仅支持命令行工具测试,还可以通过 Java/Go/Python 等 SDK 集成到应用中实现真正的业务逻辑处理。(rocketmq.apache.org)

如需要进一步学习 API 使用、集群部署、管理控制台 Dashboard、消息顺序/事务等高级特性,可以查阅官方文档深入学习。


📌 参考资料

官方文档:RocketMQ 本地部署快速开始指南(Run RocketMQ locally)(rocketmq.apache.org)

相关推荐
柯南二号2 小时前
【后端】【Java】RabbitMQ / RocketMQ / Kafka / Redis 消息队列深度对比与选型指南
java·java-rocketmq·java-rabbitmq
山沐与山1 天前
【MQ】Kafka与RocketMQ深度对比
分布式·kafka·rocketmq
社恐的小马同学1 天前
RocketMQ: 发送一条消息经历了什么
rocketmq
阿里云云原生3 天前
AgentScope x RocketMQ:打造企业级高可靠 A2A 智能体通信基座
云原生·apache·rocketmq
java_logo4 天前
Transmission Docker 容器化部署指南
运维·docker·容器·kubernetes·apache·rocketmq·transmission
武子康5 天前
Java-196 消息队列选型:RabbitMQ vs RocketMQ vs Kafka
java·分布式·kafka·rabbitmq·rocketmq·java-rocketmq·java-rabbitmq
想用offer打牌5 天前
RocketMQ如何防止消息丢失?
java·后端·架构·开源·rocketmq
ZePingPingZe6 天前
浅谈接口幂等性、MQ消费幂等性
分布式·java-rocketmq
想用offer打牌6 天前
RocketMQ如何防止消息丢失?😯
后端·面试·rocketmq