SpringVortexNotes

RocketMQ 安装部署指南

zjc 于 2026-08-16 发布

下载地址/官网:Apache RocketMQ Download

RocketMQ 更适合后续承接订单事件、延时消息、事务消息和顺序消息。它和 Spring Cloud Alibaba 体系同源,接入时可以优先评估 rocketmq-spring-boot-starter

端口和用途

端口 用途
9876 NameServer 地址
10911 Broker 主端口
10909 VIP Channel 端口
10912 Broker HA 端口

学习和单机部署可以先只暴露内网,生产不要把这些端口直接开放到公网。

Windows 安装部署 RocketMQ

  1. 准备 JDK 21,确认:
java -version
  1. 打开 RocketMQ Download,下载二进制发行包并解压,例如:
D:\apps\rocketmq
  1. 设置环境变量:
[Environment]::SetEnvironmentVariable("ROCKETMQ_HOME", "D:\apps\rocketmq", "User")
[Environment]::SetEnvironmentVariable("NAMESRV_ADDR", "127.0.0.1:9876", "User")

重新打开 PowerShell 后生效。

  1. 启动 NameServer:
Set-Location D:\apps\rocketmq
.\bin\mqnamesrv.cmd

保持窗口开启。

  1. 新开 PowerShell,启动 Broker:
Set-Location D:\apps\rocketmq
.\bin\mqbroker.cmd -n 127.0.0.1:9876
  1. 查看集群:
.\bin\mqadmin.cmd clusterList -n 127.0.0.1:9876

Windows 更适合本机调试。长期部署建议使用 Ubuntu,并用 systemd 管理进程。

Ubuntu 安装部署 RocketMQ

  1. 安装 JDK 21 后创建目录:
sudo mkdir -p /opt/rocketmq
sudo chown -R "$USER":"$USER" /opt/rocketmq
  1. 下载并解压二进制包。版本号以官方下载页为准:
cd /tmp
curl -fLO https://archive.apache.org/dist/rocketmq/5.3.0/rocketmq-all-5.3.0-bin-release.zip
unzip rocketmq-all-5.3.0-bin-release.zip
mv rocketmq-all-5.3.0-bin-release/* /opt/rocketmq/
  1. 小内存机器先调整 JVM。编辑 bin/runserver.shbin/runbroker.sh,把默认大堆内存调整为适合测试环境的值,例如:
-Xms512m -Xmx512m -Xmn256m
  1. 启动 NameServer:
cd /opt/rocketmq
nohup sh bin/mqnamesrv > /opt/rocketmq/namesrv.log 2>&1 &
  1. 启动 Broker:
cd /opt/rocketmq
nohup sh bin/mqbroker -n 127.0.0.1:9876 > /opt/rocketmq/broker.log 2>&1 &
  1. 验证:
sh bin/mqadmin clusterList -n 127.0.0.1:9876
ss -lntp | grep 9876

macOS 安装部署 RocketMQ

  1. 安装 JDK 21 并下载二进制包,解压到例如 ~/apps/rocketmq

  2. 调整 bin/runserver.shbin/runbroker.sh 的 JVM 内存。

  3. 启动 NameServer:

cd ~/apps/rocketmq
nohup sh bin/mqnamesrv > namesrv.log 2>&1 &
  1. 启动 Broker:
nohup sh bin/mqbroker -n 127.0.0.1:9876 > broker.log 2>&1 &
  1. 验证:
sh bin/mqadmin clusterList -n 127.0.0.1:9876

生产部署建议

  1. NameServer 和 Broker 分开规划,不要和应用混抢内存。
  2. 生产必须配置 brokerIP1 为服务器内网或可达 IP。
  3. 刷盘和副本策略要按业务可靠性要求选择,先写清 RPO 和 RTO。
  4. 消息轨迹和死信队列要提前开启或设计。
  5. 事务消息只解决最终一致,不能替代本地事务。
  6. 队列不是越多越好,顺序消息还要评估单队列热点。

常见问题

connect to broker failed 通常和 brokerIP1、端口、防火墙有关。客户端拿到的是 Broker 返回的地址,不只是 NameServer 地址。

启动立即退出先看日志里的 JVM 大小。默认脚本常见 Xms4g 配置,小机器会直接起不来。

消息发送超时要同时检查磁盘、网络、Broker 压力和客户端线程池,不要只重试发送。