Apache官网地址: https://www.apache.org/
rocketMQ下载地址: http://rocketmq.apache.org/dowloading/releases/
解压安装
安装在Linux系统上
要求: 在Linux上必须有jdk环境(1.8以上)
# 解压
unzip rocketmq-all-4.5.2-bin-release.zip
# 修改目录名称
mv rocketmq-all-4.5.2-bin-release rocketmq
目录介绍:
benchmark: rocketmq测试目录,用于测试MQ
bin: 存放rocketmq可执行命令
mqnamesrv: 启动命名服务器
mqbroker: 启动代理服务器
conf: 存放rocketmq配置文件
lib: 存放依赖jar包
启动命名服务器
# 进入rocketMQ安装目录下的bin目录
#启动nameserv
sh mqnamesrv
# 查询name server的状态
ps -ef | grep mqnamesrv
启动Broker
新开一个窗口,启动Broker代理服务器
# 进入rocketMQ安装目录下的bin目录
# 启动mq服务 -n 指定nameserv的地址
sh mqbroker -n localhost:9876
首次启动会报错,因为broker默认占用内存过大,我们需要调整
==需修改mqbroker对应的runbroker.sh文件,将占用内存改小==
再次重启
# 重启mq服务 -n 指定nameserv的地址
sh mqbroker -n localhost:9876
# 关闭防火墙
systemctl stop firewalld.service
测试MQ
再另起一个窗口测试
# 设置命名服务器位置
export NAMESRV_ADDR=localhost:9876
# 进入bin目录.执行测试程序 随时ctrl+c暂停
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
MessageExt [
queueId=1,
storeSize=179,
queueOffset=256,
sysFlag=0,
bornTimestamp=1616681027046,
bornHost=/192.168.190.143:48824,
storeTimestamp=1616681027048,
storeHost=/192.168.190.143:10911,
msgId=C0A8BE8F00002A9F000000000002D147,
commitLogOffset=184647,
bodyCRC=1392906658,
reconsumeTimes=0,
preparedTransactionOffset=0,
toString()=Message{
topic='TopicTest',
flag=0,
properties={
MIN_OFFSET=0,
MAX_OFFSET=422,
CONSUME_START_TIME=1616761308096,
UNIQ_KEY=C0A8BE8F265163947C6B805495E6004E,
WAIT=true,
TAGS=TagA
},
body=[72, 101, 108, 108, 111, 32, 82, 111, 99, 107, 101, 116, 77, 81, 32, 55, 56],
transactionId='null'
}
]
brokerName:broker名称
queueId:记录MessageQueue编号,消息在Topic下对应的MessageQueue中被拉取
storeSize:记录消息在Broker存盘大小
queueOffset:记录在ConsumeQueue中的偏移
sysFlag:记录一些系统标志的开关状态,MessageSysFlag中定义了系统标识
bornTimestamp:消息创建时间,在Producer发送消息时设置
bornHost:记录发送改消息的producer地址
storeTimestamp:消息存储时间
storeHost:记录存储该消息的Broker地址
msgId:消息Id
commitLogOffest:记录消息在Broker中存储偏移
bodyCRC:消息内容CRC校验值
reconsumeTimes:消息重试消费次数
body:Producer发送的实际消息内容,以字节数组(ASCII码)形式进行存储。Message消息有一定大小限制。
transactionId:事务消息相关的事务编号
preparedTransactionOffset:
message
topic:话题
flag:网络通信层标记
properties
MIN_OFFSET:最小偏移
MAX_OFFSET:最大偏移
CONSUME_START_TIME:消费拉取时间
CLUSTER:集群
TAGS:消息标签
UNIQ_KEY:
WAIT:
body: 消息内容
关闭服务
先关broker: sh mqshutdown broker
再关namesrv: sh mqshutdown namesrv