詳細介紹阿裡雲搭建RocketMq(轉載)

2020-08-14 11:06:35

首先介紹一下RocketMq依賴的必備環境:
1.JDK1.8安裝完成,設定環境變數:JDK1.8安裝
2.Maven3.6.3安裝完成,設定環境變數;

一、下載並解壓縮RocketMq

下載壓縮包:
wget http://mirror.bit.edu.cn/apache/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip
1
解壓縮:
unzip rocketmq-all-4.7.1-bin-release.zip
1
注意:如果unzip命令不能使用,則需要安裝;
yum install unzip #提示輸入時,請輸入y;

解壓縮後資料夾名字過長,大家可以選擇重新命名:

mv rocketmq-all-4.7.1-bin-release rocketmq-4.7.1-bin
1
在這裏插入圖片描述
二、安裝:

建立自定義儲存目錄:
在rocketmq-4.7.1-bin資料夾下建立logs,store資料夾。
在store下建立commitlog、consumequeue和index資料夾。
logs:主要用於儲存RocketMQ日誌目錄;
store:主要用於儲存RocketMQ數據檔案目錄;
commitlog:主要用於儲存RocketMQ訊息資訊;
consumequeue、index:主要用於儲存訊息的索引數據;
在這裏插入圖片描述

修改執行記憶體:
RocketMQ預設的虛擬機器記憶體較大,啓動Broker如果因爲記憶體不足失敗,避免後面啓動失敗,溪源選擇先修改其記憶體大小,一般阿裡雲伺服器是滿足不了預設記憶體。
主要編輯如下兩個組態檔,修改JVM記憶體大小。
切換到/bin目錄下:

編輯runbroker.sh和runserver.sh修改預設JVM大小

vi runbroker.sh
vi runserver.sh
1
2
3
參考設定:注意這裏是m爲單位
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

runserver.sh
JAVA_OPT="JAVAOPTserverXms8gXmx8gXmn8gXX:MetaspaceSize=128mXX:MaxMetaspaceSize=320m"runbroker.shJAVAOPT="{JAVA_OPT} -server -Xms8g -Xmx8g -Xmn8g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" 修改後如圖: 在這裏插入圖片描述runbroker.sh 原:JAVA_OPT="{JAVA_OPT} -server -Xms8g -Xmx8g -Xmn8g"
修改後如圖:
在這裏插入圖片描述

xml檔案路徑修改:
cd /opt/software/rocketmq/rocketmq-4.7.1-bin/conf以自己安裝目錄爲準,切換到/conf目錄下;
把該資料夾下xml檔案,裡的{user.home}替換成 /opt/software/rocketmq/rocketmq-4.7.1-bin;
sed -i ‘s#${user.home}# /opt/software/rocketmq/rocketmq-4.7.1-bin#g’ *.xml
1
修改broker.conf設定
cd /opt/software/rocketmq/rocketmq-4.7.1-bin/conf
vi broker.conf
namesrvAddr={你自己的阿裡雲伺服器外網IP或者內網IP}:9876
brokerIP1={你自己的阿裡雲伺服器外網IP}
brokerName=james
brokerClusterName=DefaultCluster
brokerId=0
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true

開放埠和阿裡雲服務入網規則:
firewall-cmd --zone=public --add-port=9876/tcp --permanent
firewall-cmd --zone=public --add-port=10911/tcp --permanent
firewall-cmd --reload # 設定立即生效

阿裡雲設定入網規則:
在這裏插入圖片描述

三、啓動:
啓動之前一定要切換到rocketmq安裝目錄下bin

啓動NameServer

1.啓動NameServer

[root@izbp14najjyuhkvm4qbic7z bin]# nohup sh mqnamesrv &
[1] 7164
[root@izbp14najjyuhkvm4qbic7z bin]# nohup: ignoring input and appending output to ‘nohup.out’

啓動日誌
[root@izbp14najjyuhkvm4qbic7z bin]# tail -f nohup.out
Java HotSpot™ 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™ 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON

啓動Broker
# 1.啓動Broker,9876是NameServer應用的埠號,與nameserver建立連線
[root@izbp14najjyuhkvm4qbic7z bin]# nohup sh bin/mqbroker -n localhost:9876
啓動日誌
[root@izbp14najjyuhkvm4qbic7z bin]# tail -f nohup.out
Java HotSpot™ 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™ 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON

輸入 jps 命令,檢視Java進程
#說明 NamesrvStartup,BrokerStartup兩個服務啓動成功
21251 Jps
21175 BrokerStartup
20989 NamesrvStartup

關閉RocketMQ

1.關閉NameServer

sh bin/mqshutdown namesrv

2.關閉Broker

sh bin/mqshutdown broker

原文鏈接:https://blog.csdn.net/xuan_lu/article/details/107722655?utm_medium=distribute.pc_feed.none-task-blog-personrec_tag-2.nonecase&depth_1-utm_source=distribute.pc_feed.none-task-blog-personrec_tag-2.nonecase&request_id=5f29c9768c9fb674c6722b17