写在前面,引用两篇概念文章,方便学习使用,在此感谢作者整理
RocketMQ 介绍及基本概念
https://blog.csdn.net/qq_21040559/article/details/122703715
各种mq的对比
https://blog.csdn.net/weixin_43628257/article/details/123065984
- 官方网站
首先到Github下载对应的版本点击跳转
- 下载并解压
# 我这里使用的是5.0的版本
cd /data/
wget https://github.com/apache/rocketmq/archive/refs/tags/rocketmq-all-5.0.0.tar.gz
tar -zxvf rocketmq-all-5.0.0.tar.gz
cd /data/rocketmq-rocketmq-all-5.0.0
- Maven安装及配置(这个步骤还挺关键, 已有maven的话也要验证是否配置了环境变量)
# RocketMQ 是Java开发的,这里也是需要 JDK(略)和 Maven 进行编译
下载Maven
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar -zxvf apache-maven-3.6.3-bin.tar.gz
修改Maven仓库地址(这里可以使用自己的私有仓库)
vim /data/maven3.6.3/apache-maven-3.6.3/conf/settings.xml
<mirror>
<id>ali</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
添加环境变量
vim /etc/profile
MAVEN_HOME=/data/maven3.6.3/apache-maven-3.6.3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
更新环境配置
source /etc/profile
执行命令验证一下是否生效
mvn -v
- 编译
编译的时间还是比较长的, 我这里耗时 1小时21分钟,可能是我配置的仓库是私有仓库的原因
mvn -Prelease-all -DskipTests clean install -U
打包位置
打包后是放在这个地方的,上图可以看到,我把它挪到/data下面
/data/rocketmq-rocketmq-all-5.0.0/distribution/target启动/停止命令
cd /data/rocketmq-5.0.0
# 创建一个日志目录
mkdir /data/rocketmq
# 后台启动 nameserver
nohup sh /data/rocketmq-5.0.0/bin/mqnamesrv > /data/rocketmq/nameserver.log 2>&1 &
# 后台启动 broker
nohup sh /data/rocketmq-5.0.0/bin/mqbroker -n 127.0.0.1:9876 -c /data/rocketmq-5.0.0/conf/broker.conf autoCreateTopicEnable=true > /data/rocketmq/broker.log 2>&1 &
# 停止 nameserver
sh /data/rocketmq-5.0.0/bin/mqshutdown namesrv
# 停止 broker
sh /data/rocketmq-5.0.0/bin/mqshutdown broker
-
broker 启动问题
由于内存配置不够导致的,设置broker环境变量,修改初始内存
vim runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
vim runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
vim tools.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
-
最后再启动一次