1. 首页 > 软件下载 > 正文

RocketMQ消息队列下载-RocketMQ最新版本下载地址-RocketMQ下载方法

1. RocketMQ消息队列简介

Apache RocketMQ是阿里开源的分布式消息中间件,以其高吞吐量、高可用性和丰富的功能特性著称。RocketMQ广泛应用于电商、金融、物联网等场景,支持普通消息、顺序消息、事务消息、延迟消息等多种消息类型。更多学习教程www.fgedu.net.cn

RocketMQ核心特点

高吞吐量:支持每秒千万级消息处理

高可用:支持主从同步和主从切换

消息可靠性:支持消息追溯和消息过滤

丰富消息类型:支持顺序、事务、延迟消息

万亿级容量:支持海量消息堆积

2. RocketMQ版本说明

RocketMQ提供多个版本,用户可根据需求选择。学习交流加群风哥微信: itpux-com

最新版本信息

RocketMQ 5.3.2:最新稳定版本

RocketMQ 5.2.0:稳定版本

RocketMQ 5.1.4:历史稳定版本

RocketMQ 4.9.x:历史长期支持版本

版本特性

5.x版本:全新架构,支持POP消费模式,性能大幅提升

4.x版本:经典架构,稳定可靠

3. RocketMQ下载地址

RocketMQ可以从官方网站或Apache镜像获取安装包。

官方下载地址

官方网站:https://rocketmq.apache.org/download/

Apache镜像:https://archive.apache.org/dist/rocketmq/

文档中心:https://rocketmq.apache.org/docs/

下载安装包

# 下载RocketMQ 5.3.2
# cd /fgeudb/software
# wget https://archive.apache.org/dist/rocketmq/5.3.2/rocketmq-all-5.3.2-bin-release.zip

# 输出示例如下:
–2026-04-04 10:00:00– https://archive.apache.org/dist/rocketmq/5.3.2/rocketmq-all-5.3.2-bin-release.zip
Resolving archive.apache.org… 135.181.172.217
Connecting to archive.apache.org|135.181.172.217|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 157286400 (150M) [application/zip]
Saving to: ‘rocketmq-all-5.3.2-bin-release.zip’

rocketmq-all-5.3.2-bin-release.zip 100%[===================>] 150.00M 20.5MB/s in 7.3s

2026-04-04 10:00:10 (20.5 MB/s) – ‘rocketmq-all-5.3.2-bin-release.zip’ saved

# 验证下载文件
# ls -lh rocketmq-all-5.3.2-bin-release.zip
-rw-r–r–. 1 root root 150M Apr 4 10:00 rocketmq-all-5.3.2-bin-release.zip

生产环境建议:建议使用RocketMQ 5.3.x最新稳定版本进行生产部署。RocketMQ 5.x版本架构优化,性能更好。from:www.itpux.com

4. 环境准备

在安装RocketMQ之前,需要准备必要的系统环境和Java运行时。

系统要求

# 检查操作系统版本
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)

# 检查系统架构
# uname -m
x86_64

# 检查内存和磁盘空间
# free -h
total used free shared buff/cache available
Mem: 31G 2.1G 28G 8.5M 1.0G 28G
Swap: 15G 0B 15G

# df -h /fgeudb
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 500G 20G 480G 4% /fgeudb

# 安装JDK 8或更高版本
# yum install -y java-11-openjdk java-11-openjdk-devel

# 验证Java版本
# java -version

# 输出示例如下:
openjdk version “11.0.20” 2023-07-18 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.20+9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.20+9-LTS, mixed mode, sharing)

# 配置JAVA_HOME
# vi /etc/profile.d/java.sh

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH

# 使环境变量生效
# source /etc/profile.d/java.sh

# 创建RocketMQ用户和组
# groupadd -g 5016 rocketmq
# useradd -g rocketmq -u 5016 -d /home/rocketmq -s /bin/bash rocketmq

# 创建安装目录
# mkdir -p /fgeudb/rocketmq/{store,logs,logs/namesrv,logs/broker}
# chown -R rocketmq:rocketmq /fgeudb/rocketmq

5. TAR包安装实战

使用ZIP包安装是最常见的方式,以下是详细步骤。学习交流加群风哥QQ113257174

步骤1:解压安装包

# 安装unzip工具
# yum install -y unzip

# 解压安装包
# cd /fgeudb/software
# unzip rocketmq-all-5.3.2-bin-release.zip -d /fgeudb/

# 输出示例如下:
Archive: rocketmq-all-5.3.2-bin-release.zip
creating: /fgeudb/rocketmq-all-5.3.2-bin-release/
creating: /fgeudb/rocketmq-all-5.3.2-bin-release/benchmark/
creating: /fgeudb/rocketmq-all-5.3.2-bin-release/bin/
creating: /fgeudb/rocketmq-all-5.3.2-bin-release/conf/

# 重命名目录
# mv /fgeudb/rocketmq-all-5.3.2-bin-release /fgeudb/rocketmq

# 查看目录结构
# ls -la /fgeudb/rocketmq/
total 32
drwxr-xr-x. 6 rocketmq rocketmq 4096 Apr 4 10:05 .
drwxr-xr-x. 3 root root 4096 Apr 4 10:00 ..
drwxr-xr-x. 2 rocketmq rocketmq 4096 Apr 4 10:05 benchmark
drwxr-xr-x. 2 rocketmq rocketmq 4096 Apr 4 10:05 bin
drwxr-xr-x. 2 rocketmq rocketmq 4096 Apr 4 10:05 conf
drwxr-xr-x. 2 rocketmq rocketmq 4096 Apr 4 10:05 lib
-rw-r–r–. 1 rocketmq rocketmq 5120 Apr 4 10:05 LICENSE
-rw-r–r–. 1 rocketmq rocketmq 1024 Apr 4 10:05 NOTICE
-rw-r–r–. 1 rocketmq rocketmq 2048 Apr 4 10:05 README.md

# 设置权限
# chown -R rocketmq:rocketmq /fgeudb/rocketmq

步骤2:配置NameServer

# 编辑NameServer JVM配置
# vi /fgeudb/rocketmq/bin/runserver.sh

# 修改JVM参数
JAVA_OPT=”${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g”
JAVA_OPT=”${JAVA_OPT} -XX:+UseG1GC -XX:G1HeapRegionSize=16m”
JAVA_OPT=”${JAVA_OPT} -XX:InitiatingHeapOccupancyPercent=35″
JAVA_OPT=”${JAVA_OPT} -XX:+ExplicitGCInvokesConcurrent”

# 保存配置文件

# 创建NameServer配置文件
# vi /fgeudb/rocketmq/conf/namesrv.conf

# NameServer配置
listenPort=9876
rocketmqHome=/fgeudb/rocketmq
storePathRootDir=/fgeudb/rocketmq/store/namesrv
storePathCommitLog=/fgeudb/rocketmq/store/namesrv/commitlog

# 保存配置文件

步骤3:配置Broker

# 编辑Broker配置文件
# vi /fgeudb/rocketmq/conf/broker.conf

# Broker基础配置
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH

# 网络配置
namesrvAddr = 192.168.1.51:9876
brokerIP1 = 192.168.1.51
listenPort = 10911

# 存储配置
storePathRootDir = /fgeudb/rocketmq/store
storePathCommitLog = /fgeudb/rocketmq/store/commitlog
storePathConsumeQueue = /fgeudb/rocketmq/store/consumequeue
storePathIndex = /fgeudb/rocketmq/store/index
storeCheckpoint = /fgeudb/rocketmq/store/checkpoint
abortFile = /fgeudb/rocketmq/store/abort

# 日志配置
logRoot = /fgeudb/rocketmq/logs

# 消息配置
maxMessageSize = 4194304
defaultTopicQueueNums = 8
autoCreateTopicEnable = true
autoCreateSubscriptionGroup = true

# 刷盘配置
flushCommitLogTimed = true
flushCommitLogLeastPages = 4
flushConsumeQueueLeastPages = 2
flushCommitLogThoroughInterval = 10000
flushConsumeQueueThoroughInterval = 60000

# 保存配置文件

# 编辑Broker JVM配置
# vi /fgeudb/rocketmq/bin/runbroker.sh

# 修改JVM参数
JAVA_OPT=”${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g”
JAVA_OPT=”${JAVA_OPT} -XX:+UseG1GC -XX:G1HeapRegionSize=16m”
JAVA_OPT=”${JAVA_OPT} -XX:InitiatingHeapOccupancyPercent=45″
JAVA_OPT=”${JAVA_OPT} -XX:+ExplicitGCInvokesConcurrent”

# 保存配置文件

风哥提示:NameServer是路由注册中心,Broker是消息服务器。namesrvAddr配置NameServer地址。brokerRole设置为ASYNC_MASTER或SYNC_MASTER。flushDiskType设置为ASYNC_FLUSH提高性能。

步骤4:启动服务

# 切换到rocketmq用户
# su – rocketmq

# 启动NameServer
$ cd /fgeudb/rocketmq
$ nohup ./bin/mqnamesrv -c ./conf/namesrv.conf > /fgeudb/rocketmq/logs/namesrv/namesrv.log 2>&1 &

# 输出示例如下:
[1] 12345

# 检查NameServer日志
$ tail -f /fgeudb/rocketmq/logs/namesrv/namesrv.log

# 输出示例如下:
2026-04-04 10:10:00 INFO NamesrvStartup – The Name Server boot success. serializeType=JSON

# 启动Broker
$ nohup ./bin/mqbroker -c ./conf/broker.conf > /fgeudb/rocketmq/logs/broker/broker.log 2>&1 &

# 输出示例如下:
[2] 12346

# 检查Broker日志
$ tail -f /fgeudb/rocketmq/logs/broker/broker.log

# 输出示例如下:
2026-04-04 10:10:10 INFO BrokerController – The broker[broker-a, 192.168.1.51:10911] boot success. serializeType=JSON and name server is 192.168.1.51:9876

# 检查进程
$ ps -ef | grep rocketmq
rocketmq 12345 1 5 10:10 pts/0 00:00:10 /usr/lib/jvm/java-11-openjdk/bin/java -server -Xms2g -Xmx2g …
rocketmq 12346 1 8 10:10 pts/0 00:00:15 /usr/lib/jvm/java-11-openjdk/bin/java -server -Xms4g -Xmx4g …

# 检查端口
$ netstat -tlnp | grep java
tcp 0 0 0.0.0.0:9876 0.0.0.0:* LISTEN 12345/java
tcp 0 0 0.0.0.0:10911 0.0.0.0:* LISTEN 12346/java
tcp 0 0 0.0.0.0:10909 0.0.0.0:* LISTEN 12346/java

6. Docker容器安装实战

使用Docker容器安装RocketMQ是最快捷的方式,适合快速测试和开发环境。更多学习教程公众号风哥教程itpux_com

步骤1:拉取RocketMQ镜像

# 拉取官方RocketMQ镜像
# docker pull apache/rocketmq:5.3.2

# 输出示例如下:
5.3.2: Pulling from apache/rocketmq
f1f26f570256: Pull complete
8f8e43ef9c3a: Pull complete
e9d8dca5b8a5: Pull complete
a1b8d4c4a5e6: Pull complete
Digest: sha256:abc123def456…
Status: Downloaded newer image for apache/rocketmq:5.3.2
docker.io/apache/rocketmq:5.3.2

# 查看镜像
# docker images | grep rocketmq
apache/rocketmq 5.3.2 abc123def456 2 weeks ago 600MB

步骤2:运行NameServer容器

# 创建数据目录
# mkdir -p /fgeudb/rocketmq/{namesrv/logs,broker/store,broker/logs}

# 运行NameServer容器
# docker run -d \
–name rmqnamesrv \
-p 9876:9876 \
-v /fgeudb/rocketmq/namesrv/logs:/home/rocketmq/logs \
-e “MAX_HEAP_SIZE=2G” \
-e “HEAP_NEWSIZE=1G” \
apache/rocketmq:5.3.2 sh mqnamesrv

# 输出示例如下:
abc123def456789…

# 检查容器状态
# docker ps | grep rmqnamesrv
abc123def456 apache/rocketmq:5.3.2 “sh mqnamesrv” 10 seconds ago Up 9 seconds 0.0.0.0:9876->9876/tcp rmqnamesrv

步骤3:运行Broker容器

# 创建Broker配置文件
# vi /fgeudb/rocketmq/broker/conf/broker.conf

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
namesrvAddr = 192.168.1.51:9876
brokerIP1 = 192.168.1.51

# 运行Broker容器
# docker run -d \
–name rmqbroker \
-p 10911:10911 \
-p 10909:10909 \
-v /fgeudb/rocketmq/broker/logs:/home/rocketmq/logs \
-v /fgeudb/rocketmq/broker/store:/home/rocketmq/store \
-v /fgeudb/rocketmq/broker/conf/broker.conf:/home/rocketmq/rocketmq-5.3.2/conf/broker.conf \
-e “MAX_HEAP_SIZE=4G” \
-e “HEAP_NEWSIZE=2G” \
apache/rocketmq:5.3.2 sh mqbroker -c /home/rocketmq/rocketmq-5.3.2/conf/broker.conf

# 输出示例如下:
def456ghi789abc…

# 检查容器状态
# docker ps | grep rmqbroker
def456ghi789 apache/rocketmq:5.3.2 “sh mqbroker -c /ho…” 10 seconds ago Up 9 seconds 0.0.0.0:10909->10909/tcp, 0.0.0.0:10911->10911/tcp rmqbroker

7. RocketMQ配置优化

以下是生产环境的RocketMQ配置优化建议。

Broker高级配置

# 编辑Broker配置文件
# vi /fgeudb/rocketmq/conf/broker.conf

# Broker基础配置
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0

# 高可用配置
brokerRole = SYNC_MASTER
flushDiskType = SYNC_FLUSH

# 性能配置
sendMessageThreadPoolNums = 16
pullMessageThreadPoolNums = 16
queryMessageThreadPoolNums = 8
adminBrokerThreadPoolNums = 16
clientManageThreadPoolNums = 8
consumerManageThreadPoolNums = 8

# 内存配置
messageStorePlugIn =
haListenPort = 10912
haSendHeartbeatInterval = 5000
haHousekeepingInterval = 20000
haTransferBatchSize = 32768
haMasterAddress =

# 消息存储配置
mapedFileSizeCommitLog = 1073741824
mapedFileSizeConsumeQueue = 300000
destroyMapedFileIntervalForcibly = 120000
redeleteHangedFileInterval = 120000
diskMaxUsedSpaceRatio = 75
fileReservedTime = 72
deleteWhen = 04

# 保存配置文件

主从同步配置

# 主节点配置(Master)
# vi /fgeudb/rocketmq/conf/broker-master.conf

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
brokerRole = SYNC_MASTER
flushDiskType = SYNC_FLUSH
namesrvAddr = 192.168.1.51:9876,192.168.1.52:9876
brokerIP1 = 192.168.1.51

# 从节点配置(Slave)
# vi /fgeudb/rocketmq/conf/broker-slave.conf

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 1
brokerRole = SLAVE
flushDiskType = SYNC_FLUSH
namesrvAddr = 192.168.1.51:9876,192.168.1.52:9876
brokerIP1 = 192.168.1.52
haMasterAddress = 192.168.1.51:10912

# 保存配置文件

生产环境建议:sendMessageThreadPoolNums根据CPU核心数设置。brokerRole设置为SYNC_MASTER保证数据安全。flushDiskType设置为SYNC_FLUSH保证消息不丢失。建议配置主从同步实现高可用。

8. 安装验证与测试

安装完成后,需要进行验证测试确保RocketMQ正常运行。

查看集群状态

# 查看集群状态
$ cd /fgeudb/rocketmq
$ ./bin/mqadmin clusterList -n 192.168.1.51:9876

# 输出示例如下:
#Cluster Name #Broker Name #BID #Addr #Version #InTPS(LOAD) #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE
DefaultCluster broker-a 0 192.168.1.51:10911 V5_3_2 0.00(0,0ms) 0.00(0,0ms) 0 0 0.0000

# 查看Topic列表
$ ./bin/mqadmin topicList -n 192.168.1.51:9876

# 输出示例如下:
DefaultCluster
BenchmarkTest
OFFSET_MOVED_EVENT
TBW102
SELF_TEST_TOPIC
DefaultCluster_REPLY_TOPIC
SCHEDULE_TOPIC_XXXX
RMQ_SYS_TRANS_HALF_TOPIC
RMQ_SYS_TRACE_TOPIC
RMQ_SYS_TRANS_OP_HALF_TOPIC

# 查看Topic路由信息
$ ./bin/mqadmin topicRoute -n 192.168.1.51:9876 -t BenchmarkTest

# 输出示例如下:
{
“brokerDatas”:[
{
“brokerAddrs”:{0:”192.168.1.51:10911″},
“brokerName”:”broker-a”
}
],
“filterServerTable”:{},
“queueDatas”:[
{
“brokerName”:”broker-a”,
“perm”:6,
“readQueueNums”:8,
“topicSynFlag”:0,
“writeQueueNums”:8
}
]
}

发送和接收测试消息

# 设置环境变量
$ export NAMESRV_ADDR=192.168.1.51:9876

# 发送测试消息
$ ./bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

# 输出示例如下:
SendResult [sendStatus=SEND_OK, msgId=7F00000100002A9F0000000000000000, offsetMsgId=C0A8013300002A9F0000000000000000, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-a, queueId=0], queueOffset=0]
SendResult [sendStatus=SEND_OK, msgId=7F00000100002A9F0000000000000001, offsetMsgId=C0A8013300002A9F0000000000000001, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-a, queueId=1], queueOffset=0]

SendResult [sendStatus=SEND_OK, msgId=7F00000100002A9F00000000000003E7, offsetMsgId=C0A8013300002A9F00000000000003E7, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-a, queueId=7], queueOffset=124]

# 接收测试消息
$ ./bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

# 输出示例如下:
Consumer Started.
ConsumeMessageThread_please_rename_unique_group_name_4_1 Receive New Messages: [MessageExt [brokerName=broker-a, queueId=0, storeSize=203, queueOffset=0, sysFlag=0, bornTimestamp=1712217600000, bornHost=/192.168.1.51:54321, storeTimestamp=1712217600000, storeHost=/192.168.1.51:10911, msgId=C0A8013300002A9F0000000000000000, commitLogOffset=0, bodyCRC=613185359, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message{topic=’TopicTest’, flag=0, properties={MIN_OFFSET=0, MAX_OFFSET=125, CONSUME_START_TIME=1712217600000, UNIQ_KEY=7F00000100002A9F0000000000000000}, body=[72, 101, 108, 108, 111, 32, 82, 111, 99, 107, 101, 116, 77, 81, 32, 48], transactionId=’null’}]]

创建自定义Topic

# 创建Topic
$ ./bin/mqadmin updateTopic -n 192.168.1.51:9876 -b 192.168.1.51:10911 -t TestTopic

# 输出示例如下:
create topic to 192.168.1.51:10911 success.
TopicConfig [topicName=TestTopic, readQueueNums=8, writeQueueNums=8, perm=RW-, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false]

# 查看Topic信息
$ ./bin/mqadmin topicStatus -n 192.168.1.51:9876 -t TestTopic

# 输出示例如下:
#Broker Name #QID #Min Offset #Max Offset #Last Updated
broker-a 0 0 0
broker-a 1 0 0
broker-a 2 0 0
broker-a 3 0 0
broker-a 4 0 0
broker-a 5 0 0
broker-a 6 0 0
broker-a 7 0 0

使用RocketMQ Dashboard

# 下载并运行Dashboard
# cd /fgeudb/software
# wget https://github.com/apache/rocketmq-dashboard/releases/download/2.0.0/rocketmq-dashboard-2.0.0.jar

# 运行Dashboard
# java -jar rocketmq-dashboard-2.0.0.jar –server.port=8080 –rocketmq.config.namesrvAddr=192.168.1.51:9876 &

# 输出示例如下:
[3] 12347

# 浏览器访问Dashboard
# URL: http://192.168.1.51:8080/

# Dashboard功能:
# – 集群状态监控
# – Topic管理
# – 消费者组管理
# – 消息查询和追踪
# – 生产者和消费者监控

生产环境建议:建议配置集群模式实现高可用。定期备份消息和配置。监控关键指标如消息堆积量、TPS、延迟。建议使用Dashboard进行可视化管理。

至此,RocketMQ消息队列的下载和安装已完成。后续可以根据实际业务需求创建Topic、配置生产者和消费者。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息