PS: 本人是阿里雲服務器裸機實踐
安裝準備
安裝jdk
下載
選擇合適的jdk版本進行下載,我是選擇的清華大學開源軟件鏡像站,oracle官網還得賬號登錄才能下載,比較麻煩,我選擇的是jdk1.8:
wget https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_openj9_linuxXL_8u242b08_openj9-0.18.1.tar.gz
解壓
使用tar命令解壓到你選擇的目錄.
配置環境變量
使用vim /etc/profile
命令打開此文件,並添加jdk環境變量到文件末尾(需要root權限)
#java
export JAVA_HOME=yourPath/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
安裝RocketMQ
安裝RocketMQ server
下載
wget https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.0/rocketmq-all-4.7.0-bin-release.zip
使用zip命令解壓到指定目錄
啓動服務
cd
到rocketmq-all-4.7.0-bin-release
nohup sh bin/mqnamesrv 公網IP:9876 &
這裏必須用公網IP,不能用localhost或者127.0.0.1這種,否則會報超時異常,端口可自行更改,我這裏選擇默認的端口
驗證服務是否啓動正常
cd
到最外層目錄,然後:
tail -f logs/rocketmqlogs/namesrv.log
看到boot success
即表示啓動成功
啓動代理
在conf/broker.conf
中加入配置:
brokerIP1=你的公網IP
然後執行啓動命令:
nohup sh bin/mqbroker -n 你的公網IP:9876 -c conf/broker.conf autoCreateTopicEnable=true &
這裏的IP和端口,要與啓動服務中的IP和端口,一一對應,並且,腳本中的參數比較帶上。
驗證代理是否正常啓動
cd
到最外層目錄,然後:
tail -f logs/rocketmqlogs/broker.log
如果看到register broker[0]to name server IP OK
表示啓動成功
安裝RocketMQ 控制檯
- 安裝
git
sudo yum install -y git
- 克隆
github
上的rocketmq-console
源碼:
git clone https://github.com/apache/rocketmq-externals.git
cd
到rocketmq-console目錄中的resources,編輯application.properties,並修改配置:
rocketmq.config.namesrvAddr=公網IP:9876
- 安裝mvn命令
wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
- 在
rocketmq-console
項目根目錄編譯項目
mvn clean package
- 執行安裝腳本
java -jar target/rocketmq-console-ng-1.0.1.jar &
配置端口
在阿里雲控制檯,將9876
,10911
, 10909
, 8080
四個端口都配置能用外網訪問。
控制檯默認端口是8080,你也可以在application.properties
中修改,執行安裝腳本後,就可以在網頁端打開RocketMQ的控制檯頁面了。
遇到的異常
MQClientException: No route info of this topic:
和RemotingTooMuchRequestException: sendDefaultImpl call timeout
是遇到的問題最多的了,都是因爲配置的原因,按照我上面的配置一步步來,就不會有問題了!