本文基于RocketMQ 4.5.1,理论支持RocketMQ 4.0+
本文详细探讨如何搭建RocketMQ
一、下载
前往 http://rocketmq.apache.org/release_notes/release-notes-4.5.1/ ,下载 Binary 文件即可。
例如RocketMQ 4.5.1的下载地址:
Binary: rocketmq-all-4.5.1-bin-release.zip
二、系统要求
- 64位操作系统,生产环境建议Linux/Unix/MacOS(Windows操作系统安装说明详见 Windows操作系统安装教程)
- 64位JDK 1.8(目前RocketMQ不支持 JDK 11)
- 4G+的可用磁盘
三、Linux/Unix/MacOS安装教程
3.1 搭建
解压压缩包
unzip rocketmq-all-4.5.1-bin-release.zip
切换目录到RocketMQ根目录
cd rocketmq-all-4.5.1-bin-release
启动Name Server
nohup sh bin/mqnamesrv -n 192.168.44.78:9876 &
验证是否启动OK:
tail -f ~/logs/rocketmqlogs/namesrv.log
# 如果成功启动,能看到类似如下的日志:
2019-07-18 17:03:56 INFO main - The Name Server boot success. ...
启动 Broker
由于服务器存在多网卡端口的可能,在程序启动的时候无法连接消息队列,
需要修改broker.conf 文件,增加brokerId1=ip地址
nohup sh bin/mqbroker -n 192.168.44.78:9876 -c conf/broker.conf autoCreateTopicEnable=true &
验证是否启动OK:
tail -f ~/logs/rocketmqlogs/broker.log
# 如果启动成功,能看到类似如下的日志:
2019-07-18 17:08:41 INFO main - The broker[itmuchcomdeMacBook-Pro.local, 192.168.43.197:10911] boot success. serializeType=JSON and name server is localhost:9876
#启动时报错 "RocketMQ:Cannot allocate memory"
尝试修改了RocketMQ的Broker内存大小,之后解决了这个问题。 文件路径:/{RocketMq-home}/bin/runbroker.sh
3.2 验证RocketMQ功能正常(可选)
3.2.1 验证生产消息正常
执行如下命令:
export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
能看到类似如下输出:
SendResult [sendStatus=SEND_OK, msgId=C0A82BC5F36C511D50C05B41...
3.2.2 验证消费消息正常
执行如下命令:
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
能看到类似如下输出:
ConsumeMessageThread_4 Receive New Messages: [MessageExt [queueId=3, stor....
3.3 停止
依次执行以下两条命令即可
# 命令
sh bin/mqshutdown broker
# 输出如下信息说明停止成功
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK
# 命令
sh bin/mqshutdown namesrv
# 输出如下信息说明停止成功
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK
四、Windows操作系统安装教程
五、生产可用集群搭建教程
RocketMQ集群搭建说明 ,或者本人博客
集群安装模式非常多,本文不展开了。请各位看客根据自己的需求,选择适合自己的模式自行搭建。#
Q.E.D.