1. 程式人生 > 實用技巧 >Linux下搭建RocketMQ環境

Linux下搭建RocketMQ環境

Apache 官網: http://rocketmq.apache.org/

RocketMQ 的 Github 地址:

English:https://github.com/apache/rocketmq/tree/master/docs/en

中文:https://github.com/apache/rocketmq/tree/master/docs/cn

下載原始檔

點選 此處 下載 4.7.1 版本的原始檔,你也可以在 這裡 直接下載二進位制檔案

解壓並構建二進位制檔案

先說一下,需要以下環境:

  • 64bit OS, Linux/Unix/Mac
  • 64bit JDK 1.8+
  • Maven 3.2.x
  • Git

解壓下載的原始檔

unzip rocketmq-all-4.7.1-source-release.zip

進入解壓的目錄

cd rocketmq-all-4.7.1-source-release

構建安裝

mvn -Prelease-all -DskipTests clean install -U

提醒一下:
預設的 maven 源下載 jar 包很慢,看我 這篇文章 一分鐘搞定

啟動服務

進入工作目錄

cd distribution/target/rocketmq-4.7.1/rocketmq-4.7.1

啟動 Name Server

nohup sh bin/mqnamesrv &

可以檢視日誌檔案

tail -f ~/logs/rocketmqlogs/namesrv.log

啟動 Broker server

nohup sh bin/mqbroker -n localhost:9876 &

檢視日誌

tail -f ~/logs/rocketmqlogs/broker.log

啟動 Broker server 很可能出錯, 具體解決辦法 .

檢視啟動的服務

在終端下輸入 jps 即可

傳送/接收訊息

在傳送/接收訊息之前,我們需要告訴客戶端名稱伺服器的位置。RocketMQ 提供了多種方法來實現這一目標。為簡單起見,我們使用環境變數

> export NAMESRV_ADDR=localhost:9876
> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
 SendResult [sendStatus=SEND_OK, msgId= ...

> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
 ConsumeMessageThread_%d Receive New Messages: [MessageExt...

關掉 Server

> sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK

> sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK

The_End