Linux下RocketMQ服務端和客服端安裝
Linux下RocketMQ服務端和客服端安裝
安裝條件
- jdk 1.8+
- Maven 3.0.5
- .64位Linux系統
下載和安裝
- 使用xshell將下載的安裝包上傳到linux系統
安裝:yum install lrzsz
命令:rz (enter確認彈出選擇檔案)
2.安裝jdk和mavn
在usr/local目錄下新建一個java資料夾:mkdir java
通過lrzsz上傳jdk和mavn的安裝包,並解壓
tar -zxvf apache-maven-3.0.5-bin.tar.gz
tar -zxvf jdk-8u151-linux-x64.tar.gz
配置環境變數
vim /etc/profile
安裝成功的標誌
3.rocketmq服務端安裝
服務安裝包下載地址:
https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip 或直接進入官網選擇要安 裝的版本
客服端下載地址:
https://github.com/apache/rocketmq-externals
在usr/local目錄下新建一個mq資料夾:mkdir mq
將兩個安裝包上傳到mq資料夾並解壓
yum install -y unzip zip 前提是:unzip解壓檔案無法使用
unzip rocketmq-all-4.2.0-source-release.zip
unzip rocketmq-externals-master.zip
cd rocketmq-all-4.2.0/
mvn -Prelease-all -DskipTests clean install -U
構建成功後
在mq目錄下新建一個rocketmqlogs的日誌資料夾:mkdir rocketmqlogs
進入到目錄 :
cd distribution/target/apache-rocketmq/bin
啟動nameserver
nohup sh mqnamesrv >/usr/local/mq/rocketmqlogs/mqnamesrv.log 2>&1 &
檢視mqnamesrv.log日誌,此時若出現以下情況
調整distribution/target/apache-rocketmq/bin目錄下的runbroker.sh 和 runserver.sh的引數
再次啟動nameserver
啟動broker
nohup sh mqbroker -n localhost:9876 >/usr/local/mq/rocketmqlogs/broker.log 2>&1 &
注意:這樣啟動外網是無法訪問的,客服端訪問會出現:
Exception in thread "main"
org.apache.rocketmq.remoting.exception.RemotingConnectException:
connect to <172.16.74.201:10911> failed
解決方案:
修改conf下的配置檔案broker.conf,並修改啟動命令
vim broker.conf
Ip地址為阿里雲的外網IP
修改後執行啟動broker命令:
nohup sh bin/mqbroker -c conf/broker.conf &
啟動成功後的標誌
測試傳送訊息
在傳送/接收訊息之前,我們需要告訴客戶名稱伺服器的位置。為了簡單起見,我們使用環境變數NAMESRV_ADDR
export NAMESRV_ADDR=localhost:9876
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
接收訊息
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
出現以上兩種資訊則標誌傳送和接收訊息都是ok的
關閉伺服器與啟動服務的順序是相反的
停止broker
sh mqshutdown broker
停止namerserver
sh mqshutdown namesrv
關閉成功的標誌
4.安裝web客服端
進入rocketmq-externals-master目錄
修改配置檔案(/rocketmq-externals-master/目錄下)
find -name application.properties 可以檢視到兩個檔案都在rocketmq-console檔案目錄下
vim application.properties
新增配置:rocketmq.config.namesrvAddr=172.16.31.235:9876
(IP地址為阿里雲內網地址,埠號設定為9876)
儲存並退出
編譯(進入rocketmq-externals-master/rocketmq-console/目錄下)
mvn clean package -Dmaven.test.skip=true
編譯成功後,在rocketmq-console目錄下會生成一個目錄:target目錄,該目錄下有啟動rocketmq介面的jar檔案
啟動客服端
第一種(啟動 ---當終端斷了該服務就會停止):
java -jar rocketmq-console-ng-1.0.0.jar
第二種(後臺啟動 --當終端斷了也不會停止服務):
nohup java -jar rocketmq-console-ng-1.0.0.jar >>/usr/local/mq/rocketmqlogs/log.out 2>&1 &
啟動成功後(訪問客服端)