【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
  • 訪問成功

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章