RocketMq4.4.0服务端部署+后台监控系统rocketmq console一条龙服务走起+踩坑总结(干货)

RocketMq官方快速启动文档

上面给的连接就是Rokcet本身官方给的如何快速启动的文档,这其中我也研究了几天,发现有些坑是要自己踩出来的,在这里我一步一步的搭建好我们用的消息队列,写的不好的地方还望见谅

服务器端:

第一步:开启一个centos7的远程vps也好,还是你本地的Vmware虚拟机也好,先弄出来一个centos7的干净系统

(ps:友情提示,这个虚拟机的运行内存要大于1G哦,反正我用的512M的运行内存的是没跑起来,也可能是我得方式不对)

我的服务器配置参考如下

第二步:rocketMq的运行环境是要有JDK+Maven+Vim+Wget+unzip的环境哦,这里我就把该弄的命令都告诉你了哦

yum install -y java-1.8.0-openjdk-devel.x86_64
yum install -y maven
yum install -y vim
yum install -y unzip 
yum install -y wget

第三步:进入RocketMq的官网http://rocketmq.apache.org/docs/quick-start/

将RocketMq的代码下载到你的服务器中,

> cd /
> cd /opt
> wget http://mirror.bit.edu.cn/apache/rocketmq/4.4.0/rocketmq-all-4.4.0-source-release.zip
> unzip rocketmq-all-4.4.0-source-release.zip

通过以上的命令,将下载的压缩包解压在otp这个目录下,然后接下来就要用mvn命令将这个源码的文件进行编译打包

> cd rocketmq-all-4.4.0/
> mvn -Prelease-all -DskipTests clean install -U
> cd distribution/target/apache-rocketmq

经过maven的打包处理,rocketmq里面所有的jar包都打包完毕了,这时候就是如下图所示的结果

如果你像我之前说的那样把项目放在了opt目录下,就可以直接复制下面的命令进入rocketmq的包中

> cd /opt/rocketmq-all-4.4.0/distribution/target/apache-rocketmq

接下来就是第一个坑了,官方文档并没说明我们启动rocketmq时候,它默认的jvm虚拟化内存是4g,我们自己玩玩的服务器,也就1g,所以,你如果照着官方文档启动,这个服务就压根启动不了,这时候,就需要我们去手动的修改运行时候的jvm参数

> cd bin 
> vim vim runserver.sh

下图就是官方默认的参数,这个参数分别是4g,4g,2g

记得自己改成256m,256m,128m

接下来我就放出来自己改好的参数的图片,是要改成这个样子的

这里我们仅仅改了一个,关于这样的配置文件,我们一共需要修改两个,如下图所示,都是这么修改的套路,如果512m还是启动不了,你就换成256m试试

接下来,我们先启动nameserver服务试试

ps:启动之前我把防火墙给关闭了

> systemctl stop firewalld
> nohup sh bin/mqnamesrv &
> tail -f ~/logs/rocketmqlogs/namesrv.log

如果log日志里面有这个样子的,那么恭喜你的nameserver启动成功了哦

接下来就是

> nohup sh bin/mqbroker -n localhost:9876 &
> tail -f ~/logs/rocketmqlogs/broker.log

到这里,服务器端的RocketMq就搭建完毕了

我们可以测试一下服务端的消息队列服务通不通,代码里面有现成的测试代码,但是记住要改一些东西哦,

如果你认真看了上面的内容,就知道要改什么了,在bin目录下有一个tools.sh的文件,如果你打开他就会发现也需要修改jvm启动的参数,官方给的是1g的运行内存,可以修改成256m的内存,然后通过命令行调用以下命令

> export NAMESRV_ADDR=localhost:9876
> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

这时候如果你修改了tools.sh的jvm启动参数,那么可以看到命令窗口发了一堆的消息出来,如下图所示

这是集成好的发送消息的代码,代替我们向对列中发送了好多消息,那么接下来我们调用消费者的代码试试

> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

以上就是服务端搭建完毕的所有步骤,也可以看到我们消息的生产,消费都是完全没有问题的,

总结的几个坑就是,第一你要修改三个启动的.sh文件,第二记得把防火墙关闭,一会我再说如果要开防火墙需要开哪个端口

RocketMq后台监控系统

RocketMq这么好的平台,不会连一个后台监控系统没有,那就说不过去了啊,github上有代码的哦,地址在这里

https://github.com/apache/rocketmq-externals,代码你先下载下来,然后用IDEA打开子项目rocketmq console

等你打开了项目就懵比了,官方的项目还有错?如下图所示,丢失一堆jar包,当时我就想,无所谓嘛,从新导一次就好了啊,只怪太年轻,一看pom文件,引用时4.4.0的jar包,

罪魁祸首在这里,为啥就人家好好的,到我这里就是加载不出来呢,后来上mave仓库去看没有这个4.4.0的包

你确定这不是逗我么,maven仓库没有,你还引入,你是咋引入的啊,后来灵光一闪,有了,我把RocketMq的源码下载到了电脑上,仔细看看它的源码,你就知道了,下载源码的地址

http://mirrors.hust.edu.cn/apache/rocketmq/4.4.0/rocketmq-all-4.4.0-source-release.zip

解压之后,用IDEA打开,就会发现你想要的jar包,不过呢,需要你自己动动手来自己打包哦

如下图所示,就是我们需要自己动手打的jar包哦

打包的命令就是在那个项目的文件目录下,敲入以下命令

mvn package -Dmaven.test.skip=true

如下图所示,记得把那几个需要打包的文件都打了包哦

然后将这些打好的jar包,搜集起来放在D盘的根目录下,这样你就可以用我下面的命令,把这些jar包打入到本地的maven的库中

mvn install:install-file -Dfile=rocketmq-client-4.4.0.jar -DgroupId=org.apache.rocketmq -DartifactId=rocketmq-client -Dversion=4.4.0  -Dpackaging=jar -Dfile=‪D:\rocketmq-client-4.4.0.jar

mvn install:install-file -Dfile=rocketmq-common-4.4.0.jar -DgroupId=org.apache.rocketmq -DartifactId=rocketmq-common -Dversion=4.4.0  -Dpackaging=jar -Dfile=‪D:\rocketmq-common-4.4.0.jar

mvn install:install-file -Dfile=rocketmq-tools-4.4.0.jar -DgroupId=org.apache.rocketmq -DartifactId=rocketmq-tools -Dversion=4.4.0  -Dpackaging=jar -Dfile=‪D:\rocketmq-tools-4.4.0.jar

mvn install:install-file -Dfile=rocketmq-namesrv-4.4.0.jar -DgroupId=org.apache.rocketmq -DartifactId=rocketmq-namesrv -Dversion=4.4.0  -Dpackaging=jar -Dfile=‪D:\rocketmq-namesrv-4.4.0.jar

还有一步要做就是记得修改pom引用的jar包的版本,入图所示

修改之后,我们接下来就要修改配置文件了

原来的样子 

修改之后的样子(记得改成自己的IP地址啊)还有你服务器的防火墙都先给关闭了

接下来就是启动这个项目了,直接找到主文件,APP,学过springboot的都知道,

通过访问localhost:8080-----奈斯,完毕,整个

搭建rocket单机服务器的教程和运维后台的部署就先介绍到这里咯

猜你喜欢

转载自blog.csdn.net/lovePaul77/article/details/86682023