安裝
安裝配置 jdk8
1. 上傳jdk壓縮文件
將文件jdk-8u212-linux-x64.tar.gz
上傳到 /root 目錄
2. 解壓縮
執行解壓命令
# 將jdk解壓到 /usr/local/ 目錄
tar -xf jdk-8u212-linux-x64.tar.gz -C /usr/local/
# 切換到 /usr/local/ 目錄, 顯示列表, 查看解壓縮的jdk目錄
cd /usr/local
ll
3. 配置環境變量
修改 /etc/profile 配置文件, 配置環境變量
vim /etc/profile
# 在文件末尾添加以下內容:
export JAVA_HOME=/usr/local/jdk1.8.0_212
export PATH=$JAVA_HOME/bin:$PATH
修改完後, 讓環境變量立即生效
source /etc/profile
4. 驗證
java -version
----------------------------------------------------------------
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
javac -version
---------------
javac 1.8.0_212
安裝 RocketMQ
1. 下載 rocketmq 二進制文件
wget https://mirror.bit.edu.cn/apache/rocketmq/4.7.0/rocketmq-all-4.7.0-bin-release.zip
2. 解壓縮 rocketmq
將 rocketmq 解壓到 /usr/local/ 目錄
unzip rocketmq-all-4.7.0-bin-release.zip -d /usr/local/
3. 減小 rocketmq 使用的內存
rocketmq需要啓動兩個服務: name server
和 broker
, name server
默認配置JVM使用的內存是4g, broker
默認配置JVM使用的內存是8g.
開發環境中如果內存不足, 服務可能會無法啓動, 可以通過降低兩個服務的內存, 使服務可以正常啓動, 也可以節省內存.
修改 name server
內存改爲 256m
# 編輯 bin/runserver.sh
vim bin/runserver.sh
# 找到文件中下面這一行:
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
# 將 -Xms4g -Xmx4g -Xmn2g 修改爲 -Xms256m -Xmx256m -Xmn128m
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
修改 broker
內存改爲 256m
# 編輯 bin/runbroker.sh
vim bin/runbroker.sh
# 找到文件中下面這一行:
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
# 將 -Xms8g -Xmx8g -Xmn4g 修改爲 -Xms256m -Xmx256m -Xmn128m
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
4. 啓動 rocketmq
先啓動 name server
# 進入 rocketmq 目錄
cd /usr/local/rocketmq-all-4.7.0-bin-release/
# 啓動 name server
nohup sh bin/mqnamesrv &
# 查看運行日誌, 看到"The Name Server boot success."表示啓動成功
tail -f ~/logs/rocketmqlogs/namesrv.log
再啓動 broker
# 啓動 broker, 連接name server: localhost:9876
nohup sh bin/mqbroker -n localhost:9876 &
# 查看運行日誌, 看到"The broker[......:10911] boot success."表示啓動成功
tail -f ~/logs/rocketmqlogs/broker.log
5. 關閉防火牆
rocketmq的通信會用到多個端口, 爲了方便測試我們關閉防火牆
# 關閉防火牆
systemctl stop firewalld.service
# 禁止防火牆開機啓動
systemctl disable firewalld.service
測試
運行測試, 啓動生產者發送消息, 啓動消費者接收消息
# 通過環境變量, 告訴客戶端程序name server的地址
export NAMESRV_ADDR=localhost:9876
# 啓動生產者來測試發送消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
# 啓動消費者來測試接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
管理界面
在開源項目 rocketmq-externals
中提供了rocketmq 的管理界面: 地址爲: https://github.com/apache/rocketmq-externals
github 在國內訪問緩慢, 也可以使用碼雲的鏡像項目, 地址爲: https://gitee.com/mirrors/RocketMQ-Externals
1. 克隆項目
cd /usr/local/rocketmq-all-4.7.0-bin-release/
# 克隆 rocketmq-externals 項目
git clone https://gitee.com/mirrors/RocketMQ-Externals
2. maven打包管理界面項目
如果沒有安裝 maven, 請先執行 maven 安裝命令
yum install -y maven
打包管理界面項目 rocketmq-console
.
打包過程中會下載各種依賴,比較緩慢,請耐心等待
# 進入管理界面項目的文件夾
cd RocketMQ-Externals/rocketmq-console
# 執行maven 打包命令, 執行時間較長, 請耐心等待
mvn clean package -Dmaven.test.skip=true
3. 運行啓動管理界面
打包的 jar 文件在 target 目錄, 進入目錄執行jar文件
# 進入 target 目錄
cd target
# 運行管理界面
java -jar rocketmq-console-ng-1.0.1.jar --server.port=8080 --rocketmq.config.namesrvAddr=localhost:9876
訪問管理界面: