部署RocketMQ踩过的那些坑
程序员文章站
2022-07-15 08:12:30
...
1. 前言
笔者最近在学习消息队列,选择了三高代表之RocketMQ;在搭建环境的过程中遇到了一些坑,查阅了很多博客,耗费了时间终于成功的跑了起来,秉着前事不忘,后事之师的精神,将其记录下来。
笔者是买了一台个人的阿里云服务器进行的学习;所以本文所有的坑都是在云服务器上搭建才会遇见的。
本文将粗略的记录部署MQ的过程,将坑重点记录。
2. 阿里云部署 RocketMQ
2.1 环境
首先肯定是 JDK、Maven这些环境全部部署起来。
2.2 解压
unzip rocketmq-all-4.4.0-source-release.zip
cd rocketmq-all-4.4.0/
mvn -Prelease-all -DskipTests clean install -U
cd distribution/target/apache-rocketmq
编译打包提示内存不足,“There is insufficient memory for the Java Runtime Environment to continue”
- 坑1-
原因:服务器内存不够大,所以我们需要去调小一点(当然如果你土豪的话可以直接选择升级云服务器)
主要是修改runserver 和 broker
#1 vim bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
#2 vim bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m"
然后在进行打包编译
2.3 启动
nohup sh bin/mqnamesrv &
nohup sh bin/mqbroker -n localhost:9876 &
3 阿里云部署 RocketMQ 可视化控制台
3.1 解压
3.2 编译打包
mvn clean package -Dmaven.test.skip=true
- 坑2
这里是自带的bug,我们需要提前解决,
#1 修改pom.xml
将<rocketmq.version>4.4.0-SNAPSHOT</rocketmq.version>
改为 <rocketmq.version>4.4.0</rocketmq.version>
#2 进入 src/main/resources目录。vim application.properties
rocketmq.config.namesrvAddr=127.0.0.1:9876
修改以上两步之后我们再进行打包,不然会报 connection < null > 错误
大概最常见的就是以上两种
补充强调
因为我们是使用的远程服务器,要记得开放对应的端口,
9876端口、10911端口、10909端口。检查防火墙是否开启等等;否则也会报错。