【后端】【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 天前
RocketMQ 核心原理、架构优势与核心机制全解
架构·rocketmq
晚安code9 天前
RocketMQ 顺序消费实战:批量接口加 Redis Pipeline同步数据
redis·rocketmq
后端观测站9 天前
第三篇:消息队列如何保证消息可靠性?
kafka·java-rocketmq
晚安code10 天前
RocketMQ 延迟消息实战:延迟双删策略解决 Redis 缓存一致性
redis·rocketmq
风样滴男人哟11 天前
spark streaming消费rocketmq的几种方式
大数据·spark·rocketmq
IT界的老黄牛11 天前
限流命中后该怎么办:直接丢、阻塞等待、延迟重投三种姿势的取舍
java·rocketmq·redisson·令牌桶·削峰·分布式限流
后端观测站11 天前
第一篇:为什么需要消息队列?
kafka·java-rocketmq
摇滚侠12 天前
《RocketMQ 官网》阅读笔记 RocketMQ 普通消息 延时消息 顺序消息 事务消息
笔记·rocketmq
阿里云云原生12 天前
RocketMQ 高可用创新论文入选 ACM FSE:无需复制业务数据,实现有状态服务秒级接管
rocketmq
重庆小透明12 天前
带你从不同视角了解三大MQ
java·学习·spring·kafka·rabbitmq·rocketmq