1. 程式人生 > >RocketMq的安裝-雙主模式

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