Linux如何安装部署RocketMQ以及各种报错(JDK高版本不支持,内存不足,SpringBoot3不兼容)的解决方法

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值