一.準備工作
1.編輯hosts文件(兩個節點服務器都要改,)
vim /etc/hosts
添加以下信息:
#namesrv cluster
47.111.67.27 mq-nameserver1
47.111.141.21 mq-nameserver2
#broker
47.111.67.27 mq-master1
47.111.67.27 mq-slave2
47.111.141.21 mq-master2
47.111.141.21 mq-slave1
Esc-> :wq!保存退出
然後重啓網卡:systemctl restart network
2.防火牆配置
查看防火牆狀態 並開發端口
nameserver:9876
broker-master:10911
broker-slave:11011
3.環境變量配置
vim /etc/profile
#配置rocketMq環境變量
ROCKETMQ_HOME=/soft/rocketmq/distribution/target/rocketmq-4.5.2/rocketmq-4.5.2
PATH=$PATH:$ROCKETMQ_HOME/bin
讓配置生效
export ROCKETMQ_HOME PATH
source /etc/profile
4.創建mq消息存儲路徑
mkdir /software_data/mq-store
cd /software_data/mq-store
mkdir index
mkdir consumequeue
mkdir commitlog
5.修改broker配置文件
#所屬集羣名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不同的配置文件填寫的不一樣,
#brokerName=broker-a
#0 表示 Master,>0 表示 Slave
#brokerId=0
#nameServer地址,分號分割
namesrvAddr=mq-nameserver1:9876;mq-nameserver2:9876
#在發送消息時,自動創建服務器不存在的topic,默認創建的隊列數
defaultTopicQueueNums=4
#是否允許 Broker 自動創建Topic,建議線下開啓,線上關閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創建訂閱組,建議線下開啓,線上關閉
autoCreateSubscriptionGroup=true
#Broker 對外服務的監聽端口
listenPort=10911
haListenPort=10912
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=120
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據業務情況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/software_data/mq-store/store
#commitLog 存儲路徑
storePathCommitLog=/software_data/mq-store/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/software_data/mq-store/consumequeue
#消息索引存儲路徑
storePathIndex=/software_data/mq-store/index
#checkpoint 文件存儲路徑
storeCheckpoint=/software_data/mq-store/checkpoint
#abort 文件存儲路徑
abortFile=/software_data/mq-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
##強制指定本機IP,需要根據每臺機器進行修改。官方介紹可爲空,系統默認自動識別,但多網卡時IP地址可能讀取錯誤
brokerIP1=47.111.141.21
6.修改啓動腳本文件
修改啓動內存配置
vim bin/runbroker.sh
vim bin/runserver.sh
二.啓動
1.啓動namesrv,分別啓動兩個節點的namesrv
nohup sh bin/mqnamesrv &
2.啓動broker
第一個節點,先啓動master1
nohup sh mqbroker -c /software_data/rocketmq-all-4.5.2-source-release/distribution/target/rocketmq-4.5.2/rocketmq-4.5.2/conf/2m-2s-async/broker-a.properties &
再啓動slave2
nohup sh mqbroker -c /software_data/rocketmq-all-4.5.2-source-release/distribution/target/rocketmq-4.5.2/rocketmq-4.5.2/conf/2m-2s-async/broker-b-s.properties &
第二個節點
先啓動master2
nohup sh mqbroker -c /software_data/rocketmq-all-4.5.2-source-release/distribution/target/rocketmq-4.5.2/rocketmq-4.5.2/conf/2m-2s-async/broker-b.properties &
再啓動slave1
nohup sh mqbroker -c /software_data/rocketmq-all-4.5.2-source-release/distribution/target/rocketmq-4.5.2/rocketmq-4.5.2/conf/2m-2s-async/broker-a-s.properties &