RocketMq的安裝-雙主模式
1.修改/etc/hosts檔案
[[email protected] ~]# vi /etc/hosts
[[email protected] ~]# systemctl restart network
[[email protected] ~]# cat /etc/hosts
2.官網下載binary-release版本的安裝包
3.上傳至linux環境的/usr/local/packages/目錄下
4.解壓安裝檔案到當前資料夾,並重命名為apache-rocketmq
[[email protected] packages]# unzip rocketmq-all-4.3.2-bin-release.zip
[ [email protected] packages]# mv rocketmq-all-4.3.2-bin-release apache-rocketmq
5.把apache-rocketmq移動到/usr/local/src/目錄下,並建立軟連結
[[email protected] ~]# cd /usr/local/packages/
#移動檔案
[[email protected] packages]# mv apache-rocketmq /usr/local/src/
[[email protected] packages]# cd /usr/local/src/
#建立軟連結
[ [email protected] src]# ln -s apache-rocketmq rocketmq
6.建立儲存路徑
[[email protected] src]# cd rocketmq/
[[email protected] rocketmq]# mkdir store
[[email protected] rocketmq]# mkdir store/{commitlog,consumequeue,index}
7.修改RocketMQ配置檔案
[[email protected] ~]# cd /usr/local/src/rocketmq/conf/
[ [email protected] conf]# cd 2m-noslave/
[[email protected] 2m-noslave]# vim broker-a.properties
[[email protected] 2m-noslave]# vim broker-b.properties
#所屬叢集名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不同的配置檔案填寫的不一樣
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分號分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
# 在傳送訊息時,自動建立伺服器不存在的topic,預設建立的佇列數
defaultTopicQueueNums=4
# 是否允許 Broker 自動建立Topic,建議線下開啟,線上關閉
autoCreateTopicEnable=true
# 是否允許 Broker 自動建立訂閱組,建議線下開啟,線上關閉
autoCreateSubscriptionGroup=true
# Broker 對外服務的監聽埠
listenPort=10911
# 刪除檔案時間點,預設凌晨 4點
deleteWhen=04
#檔案保留時間,預設 48 小時
fileReservedTime=120
#commitLog每個檔案的大小預設1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個檔案預設存30W條,根據業務情況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理檔案磁碟空間
diskMaxUsedSpaceRatio=88
#儲存路徑
storePathRootDir= /usr/local/src/rocketmq/store
#commitLog 儲存路徑
storePathCommitLog= /usr/local/src/rocketmq/store/commitlog
#消費佇列儲存路徑儲存路徑
storePathConsumeQueue=/usr/local/src/rocketmq/store/consumequeue
#訊息索引儲存路徑
storePathIndex=/usr/local/src/rocketmq/store/index
#checkpoint 檔案儲存路徑
storeCheckpoint=/usr/local/src/rocketmq/store/checkpoint
#abort 檔案儲存路徑
abortFile=/usr/local/src/rocketmq/store/abort
#限制的訊息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 非同步複製Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=ASYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 非同步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發訊息執行緒池數量
#sendMessageThreadPoolNums=128
#拉訊息執行緒池數量
#pullMessageThreadPoolNums=128
8.修改日誌配置檔案
#進入/usr/local/src/rocketmq/目錄下,建立logs檔案
[[email protected] rocketmq]# mkdir logs
[[email protected] rocketmq]# cd /usr/local/src/rocketmq/conf && sed -i 's#${user.home}#/usr/local/src/rocketmq#g' *.xml
9.啟動namesrv (先啟動兩臺伺服器的namesrv服務,再啟動broker服務)
[[email protected] ~]# cd /usr/local/src/rocketmq/
[[email protected] rocketmq]# cd bin/
[[email protected] bin]# sh mqnamesrv
10. 啟動BrokerServer - A節點
[[email protected] ~]# cd /usr/local/src/rocketmq/bin/
[[email protected] bin]# sh mqbroker -c /usr/local/src/rocketmq/conf/2m-noslave/broker-a.properties
11.啟動BrokerServer的時候,記憶體不足,因此需要修改jvm引數
1.修改runbroker.sh 檔案
[[email protected] ~]# cd /usr/local/src/rocketmq/bin/
[[email protected] bin]# vim runbroker.sh
[[email protected] bin]# cat runbroker.sh
#===========================================================================================
# JVM Configuration
#JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
#===========================================================================================
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
2.修改runserver.sh檔案
[[email protected] ~]# cd /usr/local/src/rocketmq/bin/
[[email protected] bin]# vim runserver.sh
[[email protected] bin]# cat runserver.sh
#===========================================================================================
# JVM Configuration
#JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
#===========================================================================================
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
3.修改完配置檔案後,重啟啟動
12.檢視日誌命令
#動態檢視broker日誌
[[email protected] ~]# tail -f -n 500 /usr/local/src/rocketmq/logs/rocketmqlogs/broker.log
#動態檢視namesrv日誌
[[email protected] bin]# tail -f -n 500 /usr/local/src/rocketmq/logs/rocketmqlogs/namesrv.log
13.停止服務和資料清理
#先停止broker,再停止namesrv
[[email protected] ~]# cd /usr/local/src/rocketmq/bin
[[email protected] ~]# sh mqshutdown broker
[[email protected] ~]# sh mqshutdown namesrv
#等待停止
#資料清理-刪除檔案後,重新建立
[[email protected] ~]# rm -rf /usr/local/src/rocketmq/store
14.啟動BrokerServer服務 -B節點
[[email protected] ~]# cd /usr/local/src/rocketmq/bin/
#後臺啟動
#nohup sh mqbroker -c /usr/local/src/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 &
[[email protected] bin]# sh mqbroker -c /usr/local/src/rocketmq/conf/2m-noslave/broker-b.properties