1 准备工作
1.1 下载RocketMQ
RocketMQ最新版本:4.5.1
1.2 环境要求
Linux64位系统JDK1.8(64位)- 源码安装需要安装
Maven 3.2.x(
Java安装在Java目录下,Rocketmq就在首页文件夹中)
2 安装RocketMQ
2.1 安装步骤
本教程以二进制包方式安装
- 解压安装包
- 进入安装目录
2.2 目录介绍
bin:启动脚本,包括shell脚本和CMD脚本conf:实例配置文件 ,包括broker配置文件、logback配置文件等lib:依赖jar包,包括Netty、commons-lang、FastJSON等
3 启动RocketMQ
- a. 启动
NameServer
# 1.启动NameServer
nohup sh bin/mqnamesrv &
# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/namesrv.log
- b. 启动
Broker
# 1.启动Broker
nohup sh bin/mqbroker -n localhost:9876 &
# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/broker.log
测试启动成功还有jps的命令可以检测多少进程开启。
- 问题描述:
RocketMQ默认的虚拟机内存较大,启动Broker如果因为内存不足失败,需要编辑如下两个配置文件,修改JVM内存大小
# 编辑runbroker.sh和runserver.sh修改默认JVM大小
vi runbroker.sh
vi runserver.sh
- 参考设置:
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
我用的是华为云1h2g的云服务器,所以设置的runserver.sh和runbroker.sh分别是:
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m"
4 测试RocketMQ
4.1 发送消息
发送方需要开启nameserver和broker且进入Rocketmq的目录下,接收方只需要进入Rocketmq目录下就行了
# 1.设置环境变量
export NAMESRV_ADDR=localhost:9876
# 2.使用安装包的Demo发送消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
4.2 接收消息
# 1.设置环境变量
export NAMESRV_ADDR=localhost:9876
# 2.接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
5 关闭RocketMQ
# 1.关闭NameServer
sh bin/mqshutdown namesrv
# 2.关闭Broker
sh bin/mqshutdown broker
本文使用 mdnice 排版