Spring Cloud Alibaba - 消息队列(二)(RocketMQ)(windows 下安装以及测试 (很重要))

x33g5p2x  于2021-09-18 转载在 Spring  
字(2.1k)|赞(0)|评价(0)|浏览(603)

回溯+诉苦

回溯

前面一篇博文讲述了 消息队列 的概念以及 RocketMQ 的架构,这一篇主要讲解使用。

诉苦

博主本来不喜欢写博文,但是发现笔记经常丢,实习生也会经常问,所以觉得写博客记录一下比较好。从写 Spring Cloud Alibaba 以来,已经写了十九篇了,其实其中很多是拆分开的,不然大概四五篇就差不多了,不过这样一来会导致一篇博文太长,违反了单一职责,所以才拆成细粒度一点。

写啊写,写到 RocketMQ 的安装使用的时候,心态炸裂了,坑太多了,别人家的博文都不写详细,害的博主折腾了非常非常久,心态炸裂到仿佛回想起第一次弄Hadoop的时候 ╥﹏╥…

可是人家Hadoop是大项目,开始折腾就折腾了,你说你 RocketMQ 也这么折腾,哎,还是自己能力不足 (;´༎ຶД༎ຶ`)

以下的安装使用,有坑的地方博主会用红色字体标注出来。

安装RocketMQ

首先我们需要安装下载RocketMQ

点击 http://rocketmq.apache.org/ 请根据图片操作。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

下载完之后解压

在这里插入图片描述

进入到bin目录

在这里插入图片描述

这时候需要配置环境变量

  • JAVA_HOME:这个就不进行详细赘述了,java 必备 技能之一。(待会马上讲,有坑)
  • ROCKETMQ_HOME:变量值需要是MQ的解压路径,比如博主的是:E:\rocketmq-all-4.7.1-bin-release

这里有坑,天坑,巨大无比的天坑!!!!!!!

这里的环境变量,需要你路径中不能有空格!!!!

ROCKETMQ_HOME 还好说,毕竟是我们自己刚刚解压的。可是!!!JAVA_HOME 就不是了,这个一般是很早以前安装的了,而且!!以前我们安装的时候都是一直点击下一步,无脑安装,这样它是会默认把java安装在

在这里插入图片描述

这里面,然而!!它是有空格的!!

在这里插入图片描述

无奈之下,博主只好在C盘下直接放一个JAVA,并且把路径指向过去

之后的坑就没那么大了…

启动NameServer

紧接着,在刚才解压下的lib中打开控制台

在这里插入图片描述

输入

start mqnamesrv.cmd

在这里插入图片描述

启动成功
ps(如果电脑配置内存不够,可以先修改内存大小再启动)

启动BROKER

继续cmd

输入

start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true

在这里插入图片描述

启动成功。
ps(如果电脑配置内存不够,可以先修改内存大小再启动)

RocketMQ控制台安装

下载方式有两种:

https://github.com/apache/rocketmq-externals/releases

在这里插入图片描述

https://github.com/apache/rocketmq-externals/tree/release-rocketmq-console-1.0.0

在这里插入图片描述

下载完之后是个Spring Boot 项目,需要打成jar包运行,有人喜欢直接用命令,博主喜欢用idea,因人而异吧,这里讲解利用idea编译打包。(以及采坑)

首先利用idea打开项目的pom文件,当我看到pom的时候,心凉了大半截…

在这里插入图片描述

看到这谁都得凉啊…

首先我们需要修改我们 rocketmq 的版本改成 4.7.1 对应我们刚才下载的版本,这边博主是改好了,它一开始进来可不长这样!

在这里插入图片描述

然后,坑!继续来!!

大伙把 plugins 里面的东西都给我删干净了!!!

最终我们把 plugins 改成这样就可以了!

<plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>

修改配置

在这里插入图片描述

紧接着编译打包

在这里插入图片描述

跳过测试类!

编译过程如果遇到报错,什么类没有实现接口的方法啦,有的地方没有抛异常啦,加上,统统加上,编译过为止!

紧接着对编译完成的jar包,打开路径,cmd,运行

在这里插入图片描述

cmd 命令

java -jar rocketmq-console-ng-1.0.0.jar

访问启动的控制台项目

在这里插入图片描述

访问成功,一开始进去这里面是没有可视化图片的,这边有,是因为博主测试了,那么下面讲述测试。

测试

RocketMQ自带了发送与接收消息的脚本tools.cmd,用来验证RocketMQ的功能是否正常。

启动消费者

继续进入到lib下 cmd

在这里插入图片描述

然后依次输入

set NAMESRV_ADDR=localhost:9876
tools.cmd org.apache.rocketmq.example.quickstart.Consumer

启动生产者

继续进入到lib下 cmd

在这里插入图片描述

然后依次输入

set NAMESRV_ADDR=localhost:9876
tools.cmd org.apache.rocketmq.example.quickstart.Producer

启动成功后,生产者会发送1000个消息,然后自动退出。

在这里插入图片描述

此时在观察控制台,就会发现有数据了~

在这里插入图片描述

都怪我才疏学浅,哎,太难了 ;´༎ຶД༎ຶ`)

相关文章