1.运行环境:
Linux Centos 7 无论是Centos 几都不影响RocketMQ安装
jdk17+Apache RocketMQ 5.1.4
2.下载安装
1.官方下载网站:https://rocketmq.apache.org/download
2.将下载好的文件存放到Linux的/usr/local/目录下
3.进行解压缩unzip rocketmq-all-5.1.4-bin-release.zip
4.使用mv rocketmq-all-5.1.4-bin-release rocketmq 进行改名
3.修改环境变量
# 打开配置文件
vim /etc/profile
# 文件末尾追加改信息
export ROCKETMQ_HOME=/usr/local/rocketmq
export PATH=$PATH:$ROCKETMQ_HOME/bin
# 生效环境变量
source /etc/profile
4.启动RocketMQ
1.启动NameServer
nohup sh mqnamesrv &
2.启动broker
nohup sh ./mqbroker -n localhost:9876 &
成功启动之后输入JPS查看是否有这2个进程
如果缺少期中一个则查看:
/usr/local/rocketmq/bin 目录下的nohup.out 查看报错信息
5.报错以及解决方法
1.内存不足需要修改配置文件中的内存使用
1.进入/usr/local/rocketmq/bin的runbroker.sh配置文件中
2.将文件中的数值修改为图中的512m和256m
2.jdk高版本兼容问题.无法匹配JDK17
报错信息
解决方法
1. --add-exports=java.base/sun.nio.ch=ALL-UNNAMED添加到图中位置
3.RocketMQ与SpringBoot 3.0不兼容解决方案
报错信息
Description:
Field rocketMQTemplate in com.dayuwebtech.dayupay.common.rocketmq.impl.SendPayReNotifyMessageImpl required a bean of type 'org.apache.rocketmq.spring.core.RocketMQTemplate' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action: Consider defining a bean of type 'org.apache.rocketmq.spring.core.RocketMQTemplate' in your configuration.
解决方法
在项目的resources文件夹中,新建META-INF/spring文件夹,在里面新建一个叫org.springframework.boot.autoconfigure.AutoConfiguration.imports的文件在里面填入即可
org.apache.rocketmq.spring.autoconfigure.RocketMQAutoConfiguration