一、下載安裝Maven
我們準備安裝的Apache-RocketMQ需要通過Maven去編譯後才能啟動,所以首先要保證linux伺服器中有安裝java環境以及Maven。
1.下載maven並解壓
maven下載地址 maven.apache.org/download.cg… 找到合適的maven版本
wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.6.0/source/apache-maven-3.6.0-src.tar.gz
複製程式碼
通過上面的命令,下載maven壓縮包到你想要安裝的目錄下。 解壓安裝包
tar -zxvf apache-maven-3.6.0-src.tar.gz
複製程式碼
解壓後可以建立一個軟連線,方便配置環境變數
ln -s apache-maven-3.6.0-src.tar.gz maven
複製程式碼
2.配置環境變數
開啟配置檔案
vim /etc/profile
複製程式碼
在檔案末尾追加環境變數
MAVEN_HOME=/usr/local/maven
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
複製程式碼
/usr/local就是你存放maven的目錄
讓配置檔案立刻生效
source /etc/profile
複製程式碼
3.安裝成功
控制檯輸入mvn -v 出現版本號說明maven安裝成功

二、下載安裝RocketMQ
1.下載解壓Apache-RocketMQ
github.com/apache/rock… 這個網址可以看到多個版本的RocketMQ
wget https://github.com/apache/rocketmq/archive/rocketmq-all-4.3.0.tar.gz
複製程式碼
在/user/local/下新建rocketmq資料夾,將壓縮包下載到這個資料夾,然後解壓
tar -zxvf rocketmq-all-4.3.0.tar.gz
複製程式碼
解壓後資料夾如下

2.編譯
要使用用maven編譯專案,
mvn -Prelease-all -DskipTests clean install -U
複製程式碼
開始編譯

最後出現BUILD SUCCESS就說明已經編譯成功

3.配置環境變數
cd distribution/target/apache-rocketmq/
pwd
複製程式碼
記錄這個路徑,需要配置到環境變數 開啟配置檔案
vim /etc/profile
複製程式碼
在最後追加兩行,wq儲存退出
export rocketmq=/usr/local/rockemq-source/rocketmq/distribution/target/apache-rocketmq
export PATH=$PATH:$rocketmq/bin
複製程式碼

讓配置檔案立馬生效
source /etc/profile
複製程式碼
新建日誌資料夾
mkdir /usr/local/log/rocketmqlogs
複製程式碼
4.啟動RocketMQ
啟動:
nohup mqnamesrv >/usr/local/log/rocketmqlogs/namesrv.log 2>&1 &
複製程式碼
檢視日誌:
tail -f /user/local/log/rocketmqlogs/namesrv.log
複製程式碼
正常啟動的話,會出現

啟動broker服務:
nohup mqbroker -n localhost:9876 >/usr/local/log/rocketmqlogs/broker.log 2>&1 &
複製程式碼
檢視日誌:
tail -f /user/local/log/rocketmqlogs/broker.log
複製程式碼
正常啟動的話,會出現

但是由於RocketMQ預設的java記憶體配置有點大,伺服器記憶體沒那麼大就會報錯
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: MaxNewSize (131072k) is equal to or greater than the entire heap (131072k). A new max generation size of 131008k will be used.
複製程式碼
只要修改一下bin目錄下的runserver.sh和runbroker.sh檔案的配置就好了

JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx256m -Xmn128m"
複製程式碼
修改後重新啟動就應該可以了 執行下面命令,檢視RocketMQ程式
ps -ef|grep rocketmq
複製程式碼

5.關閉
mqshutdown namesrv
mqshutdown broker
複製程式碼
三、搭建視覺化管理控制檯RocketMQ Console
1.下載
RocketMQ安裝成功後,想要比較簡單的訪問一下,就可以使用RocketMQ Console RocketMQ有一個對其擴充套件的開源專案rocketmq-externals,裡面有個專案就是RocketMQ Console 整個專案下載下來有點慢,所以就只下Console那個分支專案就好了

2.配置啟動
將專案匯入,然後配置配置檔案

將伺服器地址配置好

啟動專案
如果出現下面的連結失敗問題,可能是你的伺服器埠沒有開放,把安全組規則配置一下就好了,最好把9876,10909,10911都開放了
java.lang.RuntimeException: org.apache.rocketmq.remoting.exception.RemotingConnectException:
connect to <x.x.x.x:9876> failed
複製程式碼
如果埠開放了,但是還是報connect to x.x.x.x:10911 failed,那就需要配置一下brokerIP1,broker啟動時,預設ip是本地ip,但是這個ip可能遠端無法訪問。
在RocketMQ目錄新建properties
echo "brokerIP1=外網IP" > broker.properties
複製程式碼
關閉然後重啟broker
mqshutdown broker
nohup mqbroker -n localhost:9876 -c 配置檔案路徑/broker.properties >/usr/local/log/rocketmqlog/broker.log 2>&1 &
複製程式碼
重啟console專案,瀏覽器訪問

