【RocketMQ】Centos7环境搭建RocketMQ及可视化

参考

https://www.jianshu.com/p/0de7857deb27

一、下载及安装RocketMQ

可以直接去官网下载,也可以从我的百度云直接拿tar包。

链接: https://pan.baidu.com/s/1nEEM-k4YWJAMbjjoEeysiw 提取码: n5f2

然后通过类似于Xftp这样的文件上传工具,将包上传到Centos7系统的某个目录下

使用tar -xzvf rocketmq-4.6.1.tar.gz命令解压即可。

二、启动nameServer和broker

这两个是RocketMQ的核心组件,消息是放到broker中的,而怎么知道放到哪一个broker中,生产者需要去请求nameServer。所以我们要启动这两个组件才可以使用RocketMQ。RocketMQ 原理

进入到刚才解压的bin目录

使用nohup sh mqnamesrv &命令启动nameServer

使用nohup sh mqbroker -n localhost:9876 &命令启动broker

我们可以通过jps来查看是否启动成功,如果像下图一样,Broker和NameServer都启动,即代表启动成功
在这里插入图片描述
如果上面的BrokerStartup没有启动成功,代表系统的内存不太够,需要改小一点。
在bin目录下,vi runServer.sh 命令进行编辑,
在这里插入图片描述
并且,vi runbroker.sh 命令进行编辑,同样将内存改小一些。

配置完成后,重启启动broker,如果仍旧启动不了,则需要重启nameServer,再启动broker.
关闭nameServer的命令是: sh mqshutdown namesrv

测试生产者生产消息

在bin目录下,执行如下命令

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

可以看到,生产者把很多消息发送出去了。
在这里插入图片描述
发到哪了呢?发到了broker中,而且还未被消费。

测试消费者消费消息

为了对比,我们开启第二个连接窗口进行消息的消费

在bin目录下,执行如下命令

export NAMESRV_ADDR=localhost:9876
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

在这里插入图片描述
可以看到消费者消费了消息。

RocketMQ可视化工具

如果你使用过RabbitMQ,你一定看到过安装成功时,输入网址即可打开一个可视化的界面。
RocketMQ社区也提供这样的一个工具,只不过我们需要自己安装一下。

下载这个工具我们需要git,因为这个工具是在github上开源的,我们使用git clone 会方便很多,需要注意的是,我们克隆github项目比较慢,不过国内码云也放了这个项目,所以我们也可以直接从码云上直接克隆。

  • 安装git: 使用 yum install git 安装git即可。

  • 安装maven:使用yum install maven安装maven即可。

  • 克隆项目: 进入到你想安装的目录,使用git clone https://gitee.com/mirrors/RocketMQ-Externals.git命令克隆即可,例如我选择的是rocketmq-4.6.1的同级目录。
    在这里插入图片描述
    由于使用的是码云,速度很快
    在这里插入图片描述

  • 进入资源路径,修改配置

cd RocketMQ-Externals/rocketmq-console/src/main/resources
vi application.properties

配置nameServer的地址
在这里插入图片描述

  • 使用mvn clean package -D maven.test.skip = true命令进行打包,因为这个可视化工具也是java写的
    在这里插入图片描述
    如果出现失败,多试几次,实在不行,
    我把jar包放到了百度云,
  • 链接: https://pan.baidu.com/s/10ij7ap8Ix9H4MbtTleJh1Q
  • 提取码: gfer

会新出现一个targer文件夹,进去运行jar包
在这里插入图片描述

运行jar包

java -jar rocketmq-console-ng-1.0.1.jar --server.port=8888 --rocketmq.config.namesrvAddr=127.0.0.1:9876

这里我指定端口为8888,可以看到项目启动
在这里插入图片描述
启动后,会出现两种情况

  • 本地访问ip + 端口 拒绝访问,解决方法就是关闭防火墙

Centos 查看防火墙状态的命令是

systemctl status firewalld.service

Centos关闭防火墙的命令是

systemctl stop firewalld.service

开启防火墙的命令是

systemctl start firewalld.service
  • 访问成功

在这里插入图片描述

发布了261 篇原创文章 · 获赞 122 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_43889841/article/details/104572523