rocketNameServer配置 rocket connector system
上面给的连接就是Rokcet本身官方给的如何快速启动的文档,这其中我也研究了几天,发现有些坑是要自己踩出来的,在这里我一步一步的搭建好我们用的消息队列,写的不好的地方还望见谅
服务器端:
第一步:开启一个centos7的远程vps也好,还是你本地的Vmware虚拟机也好,先弄出来一个centos7的干净系统
(ps:友情提示,这个虚拟机的运行内存要大于1G哦,反正我用的512M的运行内存的是没跑起来,也可能是我得方式不对)
我的服务器配置参考如下
第二步:rocketMq的运行环境是要有JDK+Maven+Vim+Wget+unzip的环境哦,这里我就把该弄的命令都告诉你了哦
yum install -y java-1.8.0-openjdk-devel.x86_64yum install -y mavenyum install -y vimyum install -y unzipyum install -y wget第三步:进入RocketMq的官网http://rocketmq.apache.org/docs/quick-start/
将RocketMq的代码下载到你的服务器中,
> cd / > cd /opt > wget http:///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下图就是官方默认的参数,这个参数分别是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目录下有一个的文件,如果你打开他就会发现也需要修改jvm启动的参数,官方给的是1g的运行内存,可以修改成256m的内存,然后通过命令行调用以下命令
> export NAMESRV_ADDR=localhost:9876 > sh bin/ org.apache.rocketmq.example.quickstart.Producer这时候如果你修改了的jvm启动参数,那么可以看到命令窗口发了一堆的消息出来,如下图所示
这是集成好的发送消息的代码,代替我们向对列中发送了好多消息,那么接下来我们调用消费者的代码试试
> sh bin/ org.apache.rocketmq.example.quickstart.Consumer以上就是服务端搭建完毕的所有步骤,也可以看到我们消息的生产,消费都是完全没有问题的,
总结的几个坑就是,第一你要修改三个启动的.sh文件,第二记得把防火墙关闭,一会我再说如果要开防火墙需要开哪个端口
RocketMq后台监控系统
RocketMq这么好的平台,不会连一个后台监控系统没有,那就说不过去了啊,github上有代码的哦,地址在这里
https:///apache/rocketmq-externals,代码你先下载下来,然后用IDEA打开子项目rocketmq console
等你打开了项目就懵比了,官方的项目还有错?如下图所示,丢失一堆jar包,当时我就想,无所谓嘛,从新导一次就好了啊,只怪太年轻,一看pom文件,引用时4.4.0的jar包,
罪魁祸首在这里,为啥就人家好好的,到我这里就是加载不出来呢,后来上mave仓库去看没有这个4.4.0的包
你确定这不是逗我么,maven仓库没有,你还引入,你是咋引入的啊,后来灵光一闪,有了,我把RocketMq的源码下载到了电脑上,仔细看看它的源码,你就知道了,下载源码的地址
http:///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单机服务器的教程和运维后台的部署就先介绍到这里咯
解决mongooseserverselectionerror: connect econnrefused ::1:27017错误的方法
network error:software caused connection abort解决办法network error software caused connection abort
BurstNET的linux vps 安装Kloxo面板后一切正常 今天重启导致错误Could not connect to Mysql server
System Center Operation Manager 2012(九) 监控Windows Clustersystem center configuration manager
ReactNode vs ReactElement: Master the Differences to Avoid Errors and Boost React Performance
CentOS之SSH拒绝连接一记(The remote system refused the connection)ssh出现拒绝连接