rocketMQ集羣

  上次寫了單機版本地搭建,即一個namesrv,一個broker,如今試試搭建broker 2m2s(兩主兩從),另外再搭建一個mq監控平臺mqconsole.html

namesrv本地只能搭建一臺,不然會報地址已使用錯誤,不過你若是用docker等容器部署,是能夠搭多臺的.java

實際上mq的每臺namesrv都是相互獨立的,之間沒有數據通訊.生產環境建議至少搭2臺,不然就有單點問題git

在開始前請確保本地的運行環境已完備,請參考上一篇的單機版搭建:http://www.javashuo.com/article/p-numuwkxw-hg.htmlgithub

 

1.啓動namesrv:spring

  打開terminal輸入sh mqnamesrv,啓動namesrv,本文只啓一個,由於每臺namesrv都是相互獨立的,因此namesrv集羣無非就是在多臺虛擬機啓動多臺namesrv.docker

2.兩主兩從啓動brokerapache

   找到mq安裝文件目錄,在conf文件夾下找到2m-2s-async文件夾,裏面有四份properties文件,分別修改裏面的內容,瀏覽器

指定不一樣的端口號、角色(主或從)、文件存儲路徑、日誌文件路徑等,下面列出一份,其餘的3分按葫蘆畫瓢:springboot

===============================app

#集羣名,默認爲DefaultCluster,能夠不用改

brokerClusterName=DefaultCluster

#broker名,名稱一致表示是同一個broker
brokerName=broker-a

#brokerId,0表示爲master,1,2,3.......表示爲slave
brokerId=0

#刪除文件時間點,默認凌晨 4點
deleteWhen=04

#文件保留時間
fileReservedTime=48

#master都爲ASYNC_MASTER,slave都爲SLAVE
brokerRole=ASYNC_MASTER

#主從間複製數據的方式,都爲ASYNC_FLUSH
flushDiskType=ASYNC_FLUSH

#端口號,啓動過程當中遇到Address already in use的話,能夠修改端口號

listenPort=11910

storePathRootDir=/Users/david/Downloads/packages/rocketmq-all-4.4.0-bin-release/logs/am/rocketmqstore

storePathCommitLog=/Users/david/Downloads/packages/rocketmq-all-4.4.0-bin-release/logs/am/rocketmqstore/commitlog

storePathConsumeQueue=/Users/david/Downloads/packages/rocketmq-all-4.4.0-bin-release/logs/am/rocketmqstore/consumequeue

storePathIndex=/Users/david/Downloads/packages/rocketmq-all-4.4.0-bin-release/logs/am/rocketmqstore/index

storeCheckpoint=/Users/david/Downloads/packages/rocketmq-all-4.4.0-bin-release/logs/am/rocketmqstore/checkpoint

abortFile=/Users/david/Downloads/packages/rocketmq-all-4.4.0-bin-release/logs/am/rocketmqstore/abort

===================================

修改好四份配置文件,開啓四個terminal執行啓動命令:sh mqbroker -n localhost:9876 -c /XXX/XXX.properties,至此,四臺broker都啓動好了,

你能夠在你指定的文件路徑找到日誌文件,數據文件,索引文件等

 

 

 

3.搭建mqconsole

  官方已經寫好了插件,你只需down下來部署就能夠用,下載地址:https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console

下好後,修改一下配置文件,指定namesrv爲你的本地namesrv地址,該項目用springboot搭建,找到配置文件application.properties,修改

rocketmq.config.namesrvAddr=localhost:9876
其它配置保持默認便可,接下來打開 terminal,用maven打包項目爲jar包:
cd /data/rocketmq-externals/rocketmq-console/
mvn clean package -Dmaven.test.skip=true
在target文件夾下找到rocketmq-console-ng-1.0.0.jar
執行java -jar rocketmq-console-ng-1.0.0.jar
啓動成功後,在瀏覽器打開localhost:8080,能夠看到以下頁面:

 

 

在這裏你能夠看到一些mq的監控信息,如topic、cluster、producer、consumer等,很是方便.

好了,至此mqconsole也搭建完成,但願對你們有所幫助.

相關文章
相關標籤/搜索