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 排版