Linux部署RocketMQ

551 阅读3分钟

「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战

如果你的linux服务器未安装Maven环境,则需要先安装Maven环境:

1.下载:maven.apache.org/download.cg…

2.安装包放在usr/local下,解压:tar zvxf apache-maven-3.6.3-bin.tar.gz

3.配置环境变量:

  • 打开etc/profile:
  • 添加配置:
 export MAVEN_HOME=/usr/local/apache-maven-3.6.3
 export PATH=$PATH:$MAVEN_HOME/bin
  • 保存后刷新配置:source /etc/profile
  • 添加权限:chmod a+x /usr/local/apache-maven-3.6.3/bin/mvn

注意路径,完毕后输入:mvn -v 在这里插入图片描述

安装RocketMq:

1.下载:rocketmq.apache.org/docs/quick-… 在这里插入图片描述 2.把压缩包放入到user/local目录,解压:unzip rocketmq-all-4.7.1-source-release.zip

3.进入到解压后的目录:cd rocketmq-all-4.7.1/(文件夹名称可以修改)

4.使用Maven安装:mvn -Prelease-all -DskipTests clean install -U(需要几分钟时间,耐心等待)

5.安装完毕后,使用xftp查看rocketmq安装后的目录:distribution/target/rocketmq-4.7.1/rocketmq-4.7.1,表明安装成功

6.打开根目录etc/profile添加配置:

# rocketmq环境变量配置
export ROCKETMQ=/usr/local/rocketmq-all-4.7.1/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1
export PATH=$PATH:$ROCKETMQ/bin

7.保存后刷新配置:source /etc/profile

8.添加权限:chmod +x mqnamesrv mqbroker mqshutdown

这样直接就可以使用命令 ,启动或关闭 namesrv 和 broker了!

启动前,我们需要创建一下log目录:

  • 进入到/root目录,创建log文件夹;
  • 在log文件夹内创建:rocketmqlogs文件夹;
  • 在rocketmqlogs文件夹内创建namesrv.log文件和broker.log文件;

打开rocketmq-4.7.1/bin,找到runserver.sh和runbroker.sh文件,根据自己的内存环境配置

JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"

保存后返回,打开conf目录下的broker.conf文件,在最后面添加外网IP配置:

brokerIP1 = 39.xxx.x.xx

不配置默认是内网IP!

启动namesrv:

mqnamesrv & 在这里插入图片描述 启动namesrv成功,按crtl+c退出命令!

启动broker:

mqbroker -n 39.xxx.x.xx:9876 -c /usr/local/rocketmq-all-4.7.1/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1/conf/broker.conf &

在这里插入图片描述 查看启动状态:jps

在这里插入图片描述

关闭broker:mqshutdown broker

关闭namesrv:`mqshutdown name

安装rocketmq控制台:rocketmq-console-ng

官方GIthub地址:github.com/apache/rock…

在这里插入图片描述

把rocket-console下载下来,并用IDEA打开:

在这里插入图片描述

注意这两个配置文件,以及属性配置: rocketmq.config.namesrvAddr:namesrv地址,不用说了,你的服务器地址:9876; rocketmq.config.dataPath=/usr/local/rocketmq-console/data:可以自己在服务器创建一个日志文件夹配置上去; rocketmq.config.loginRequired=false:控制台是否启用登录密码,true的话,你就打开users.properties文件配置用户名和登录密码即可;

使用maven打包为jar:

在这里插入图片描述

你会发现,你很有可能会打包失败,解决办法: 1.修改项目jdk版本为1.8; 2.修改项目中爆红的错误代码,可能在UserServiceImpl.java或其它一两个文件中(可以直接运行项目,就能看到错误信息); 3.修改springboot版本,我使用的是目前最新版:2.3.4;

在这里插入图片描述

4.修改surefire版本为最新版,目前最新版为3.0.0-M5;

在这里插入图片描述

此时再次打包,就不会报错了,可以将target下得到的rocketmq-console-ng-2.0.0.jar,放入linux服务器启动,浏览器访问:39.xxx.x.xx:8082

在这里插入图片描述

当然,你也可以在本地直接运行:http://localhost:8082/

在这里插入图片描述

注意:只有集群模块下,显示你自己配置的brokerName名字时,才表示部署成功,如果不显示,大概率是broker没有连接到namesrv,此时请检查你namesrv和broker的启动是否有误。