1.环境准备
Java:1.8+
Maven:3.2+
1.1 Java
1.1.1下载Java
https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html
注:该链接为java1.8,Oracle的,需要登录
1.1.2 环境变量
#java
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
1.1.3 配置JDK
tar -zxvf 你的jdk.tar.gz 解压缩
mv jdk1.8xxxx /usr/local/java
vi /etc/profile 设置环境变量1.1.2
source /etc/profile 刷新修改的配置
java -version
echo$
JAVA_HOME
1.2 Maven
1.2.1 下载Maven
https://maven.apache.org/download.cgi
1.2.2 环境配置
#maven
export MAVEN_HOME=/opt/apache-maven-3.9.6
export PATH=$PATH:$MAVEN_HOME/bin
注:填你的下载的版本,不一定和我一样
1.2.3 Maven 镜像仓库
</mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
mvn -v 查看maven版本
echo $MAVEN_HOME 查询maven放哪
2. rocket mq
2.1 下载rocket mq
https://rocketmq.apache.org/zh/docs/4.x/introduction/02quickstart
https://rocketmq.apache.org/zh/download
2.2 解压
unzip 你的mq.zip -d /opt
注:没有命令就安装命令 yum install unzip 参考
2.3 编译rocket mq
mvn -Prelease-all -DskipTests -Dspotbugs.skip=true clean install -U 编译,第一次有点慢
cd distribution/target/rocketmq-4.9.4/rocketmq-4.9.4
打开编译后的mq路径,完整路径大概 /opt/rocketmq-all-4.9.4-source-release/distribution/target/rocketmq-4.9.4/rocketmq-4.9.4 仅供参考
2.4 配置rocket的jvm启动参数
2.4.1 为啥要配置?
通常linux虚拟机的内存不会太大,而rocket的jvm默认配置的启动内存都有好几个G,不一定够用。
2.4.2 哪一个配置文件?
1.rocket mq需要启动 nameserver和broker,所以需要改这两个的配置
2.本指南是下载源文件并编译,所有rocket mq是存在两份配置的,一份是源文件的配置,一份是编译后的配置文件,你想想你的java项目是不是两份配置文件。
–
编译后生成的配置文件路径:rocketmq-all-4.9.4-source-release/distribution/target/rocketmq-4.9.4/rocketmq-4.9.4/bin ,里面有runserver.sh 和runbroker.sh。
主要修改其中的-Xms -Xmx -Xmn ,可以改成256m。
2.5 启动NameServer
启动namesrv
nohup sh bin/mqnamesrv &
验证namesrv是否启动成功
tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success…
2024-05-03 20:31:11 INFO main - tls.client.keyPassword = null
2024-05-03 20:31:11 INFO main - tls.client.certPath = null
2024-05-03 20:31:11 INFO main - tls.client.authServer = false
2024-05-03 20:31:11 INFO main - tls.client.trustCertPath = null
2024-05-03 20:31:11 INFO main - Using JDK SSL provider
2024-05-03 20:31:12 INFO main - SSLContext created for server
2024-05-03 20:31:12 INFO main - Try to start service thread:FileWatchService started:false lastThread:null
2024-05-03 20:31:12 INFO main - The Name Server boot success. serializeType=JSON
2024-05-03 20:31:12 INFO FileWatchService - FileWatchService service started
2024-05-03 20:31:12 INFO NettyEventExecutor - NettyEventExecutor service started
2.6 启动Broker(参考官网记得把Broker.log改成小写)
先启动broker
nohup sh bin/mqbroker -n localhost:9876 &
验证broker是否启动成功, 比如, broker的ip是192.168.1.2 然后名字是broker-a
tail -f ~/logs/rocketmqlogs/broker.log
The broker[broker-a,192.169.1.2:10911] boot success…
2024-05-03 20:35:32 INFO main - Try to start service thread:FileWatchService started:false lastThread:null
2024-05-03 20:35:32 INFO FileWatchService - FileWatchService service started
2024-05-03 20:35:32 INFO main - Try to start service thread:PullRequestHoldService started:false lastThread:null
2024-05-03 20:35:32 INFO PullRequestHoldService - PullRequestHoldService service started
2024-05-03 20:35:32 INFO main - Try to start service thread:TransactionalMessageCheckService started:false lastThread:null
2024-05-03 20:35:32 INFO brokerOutApi_thread_1 - register broker[0]to name server localhost:9876 OK
2024-05-03 20:35:32 INFO main - The broker[localhost.localdomain, 192.168.37.130:10911] boot success. serializeType=JSON and name server is localhost:9876
2024-05-03 20:35:41 INFO BrokerControllerScheduledThread1 - dispatch behind commit log 0 bytes
2024-05-03 20:35:41 INFO BrokerControllerScheduledThread1 - Slave fall behind master: 0 bytes
2024-05-03 20:35:42 INFO brokerOutApi_thread_2 - register broker[0]to name server localhost:9876 OK
[root@localhost rocketmqlogs]# ls
broker_default.log filter.log namesrv.log stats.log transaction.log
broker.log lock.log protection.log storeerror.log watermark.log
commercial.log namesrv_default.log remoting.log store.log
[root@localhost rocketmqlogs]#
3. 结束及可能遇到的问题
发送消息,关闭服务等操作见官网“快速开始”即可:https://rocketmq.apache.org/zh/docs/4.x/introduction/02quickstart
按照这个流程一般没啥问题,耐心,细心。
常见问题诸如:找不到类(java环境变量是否正确),明明改了配置升了内存却还是提示内存不够(改错配置,改到源文件配置去了,就是 /distribution/bin 目录下的配置)
还有其他问题欢迎评论区咨询。