參考:https://my.oschina.net/jayronwang/blog/861396
1. 前提先安裝並設置好maven,jdk,git,這個網上有很多教程,就不講了
2. 下載rocket mq源碼,4.0版本后源碼git地址已經遷移,新的地址如下:
git@github.com:apache/incubator-rocketmq.git
3. 進入rokect mq代碼的源目錄,執行maven如下命令,編譯源碼,生成可執行程序
mvn clean package install -Prelease-all assembly:assembly -U
或
mvn clean package install -Prelease-all assembly:assembly -U -Dmaven.test.skip=true
跳過test代碼編譯,執行很快,建議按照這種方式執行
編譯完成后,截圖如下,

4. 編譯成功后,注意新增加target目錄

cd target/apache-rocketmq-all/bin ,目錄結構如下

其中runbroker.sh,runserver.sh,tools.sh三個腳本中,修改關於啟動時對於堆內存的設置,原來命令中設置的內存都好幾g,如下
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:PermSize=128m -XX:MaxPermSize=320m"
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
調整內存到512m,防止因為內存不足而影響服務啟動
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=320m"
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:PermSize=128m -XX:MaxPermSize=128m"
5. 啟動mqnamesrv,mqbroker服務
5.1 啟動mqnamesrv服務
sh mqnamesrv (終端啟動)
nohup sh mqnamesrv & (后台啟動)
啟動后,查看相關日志端口以及進程
查看進程: ps -ef|grep mq
查看端口: lsof -i:9876
啟動日志默認輸出到$HOME/logs/rocketmqlogs/namesrv.log
關閉服務:先通過ps -ef|grep mq 查詢進程ID,然后通過kill命令殺掉進程

5.2 啟動mqbroker服務
監聽端口10911
