Apache RocketMQ是阿里原來的RocketMQ開源捐贈給Apache基金會的,目前已成爲Apache下的頂級項目。RocketMQ 4.0如下的版本是RocketMQ還未進入Apache孵化的阿里內部release版本,4.0之後是進入apache項目後release的版本。所以從4.0後RocketMQ的客服端源代碼包名發生了變化,maven依賴也發生了變化。docker
下載zip的二進制版本解壓,解壓時須要用指定解壓到什麼目錄,這和tar命令解壓是有區別。unzip解壓不指定解壓縮目標目錄,解壓後程序的各文件目錄會分散到當前目錄,這個和在window上解壓是同樣的,須要解壓到指定文件夾,固然若是根據官方文檔使用maven編譯打包則不存在上面的問題。不想安裝maven本身編譯的能夠使用下面方式。apache
# unzip -o rocketmq-all-4.2.0-bin-release.zip -d rocketmq # cd rocketmq
# nohup sh bin/mqnamesrv & # tail -f ~/logs/rocketmqlogs/namesrv.log
# 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
這個ip是docker0的虛擬網卡的網關,可是啓動rocketMQ時並無設置這個ip,所以在啓動Broker時指定ip的本機ip。 ps:參照官方的文檔安裝在命令行測試不會存在該問題,該問題主要是在開發時在開發環境鏈接到RocketMQ的服務器上纔會出現該問題jvm
# echo "brokerIP1=localhost" > conf/broker.properties # nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.properties &
寫本文記錄的目的主要並非去介紹安裝,由於官方的文檔已經給了安裝步驟,可是在安裝和編寫客戶端代碼測試的時候可能出現上面描述的一些問題。maven