Apache RocketMQ 4.2安裝

Apache RocketMQ是阿里原來的RocketMQ開源捐贈給Apache基金會的,目前已成爲Apache下的頂級項目。RocketMQ 4.0以下的版本是RocketMQ還未進入Apache孵化的阿里內部release版本,4.0以後是進入apache項目後release的版本。因此從4.0後RocketMQ的客服端源代碼包名發生了變化,maven依賴也發生了變化。

 安裝



下載zip的二進制版本解壓,解壓時需要用指定解壓到什麼目錄,這和tar命令解壓是有區別。unzip解壓不指定解壓縮目標目錄,解壓後程序的各文件目錄會分散到當前目錄,這個和在window上解壓是一樣的,需要解壓到指定文件夾,當然如果根據官方文檔使用maven編譯打包則不存在上面的問題。不想安裝maven自己編譯的可以使用下面方式。

# unzip -o rocketmq-all-4.2.0-bin-release.zip -d rocketmq
# cd rocketmq



 啓動Name Server



# nohup sh bin/mqnamesrv &
# tail -f ~/logs/rocketmqlogs/namesrv.log




啓動Broker




# nohup sh bin/mqbroker -n localhost:9876 &
# tail -f ~/logs/rocketmqlogs/broker.log



啓動mqbroker時需要確保宿主機有足夠的內存,官方默認設置的-Xms8g -Xmx8g -Xmn4g都比較大,如果宿主機內存不夠,對於只是安裝個虛擬機測試使用RocketMQ,則可以在bin目錄下將runbroker.sh中的jvm啓動參數設置小一些。


關閉服務


# sh bin/mqshutdown broker
# sh bin/mqshutdown namesrv



 connect to <172.17.42.1:10911> failed問題



這個ip是docker0的虛擬網卡的網關,但是啓動rocketMQ時並沒有設置這個ip,因此在啓動Broker時指定ip的本機ip。

ps:參照官方的文檔安裝在命令行測試不會存在該問題,該問題主要是在開發時在開發環境連接到RocketMQ的服務器上纔會出現該問題

# echo "brokerIP1=localhost" > conf/broker.properties
# nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.properties &

總結

寫本文記錄的目的主要並不是去介紹安裝,因爲官方的文檔已經給了安裝步驟,但是在安裝和編寫客戶端代碼測試的時候可能出現上面描述的一些問題。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章