RocketMQ叢集搭建2
阿新 • • 發佈:2021-06-19
1.修改配置配件
本次搭的叢集是雙主雙從的同步模式
雙主雙從的配置檔案再上圖所示的裡面
伺服器:192.168.100.128內需配置(下圖中的:broker-a.properties和broker-b-s.properties)
broker-a.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每個檔案的大小預設1GmapedFileSizeCommitLog=1073741824 #ConsumeQueue每個檔案預設存30W條,根據業務情況調整 mapedFileSizeConsumeQueue=300000 #destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #檢測物理檔案磁碟空間 diskMaxUsedSpaceRatio=88 #儲存路徑 storePathRootDir=/usr/local/rocketmq/store #commitLog 儲存路徑 storePathCommitLog=/usr/local/rocketmq/store/commitlog#消費佇列儲存路徑儲存路徑 storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue #訊息索引儲存路徑 storePathIndex=/usr/local/rocketmq/store/index #checkpoint 檔案儲存路徑 storeCheckpoint=/usr/local/rocketmq/store/checkpoint #abort 檔案儲存路徑 abortFile=/usr/local/rocketmq/store/abort #限制的訊息大小 maxMessageSize=65536 #flushCommitLogLeastPages=4 #flushConsumeQueueLeastPages=2 #flushCommitLogThoroughInterval=10000 #flushConsumeQueueThoroughInterval=60000 #Broker 的角色 #- ASYNC_MASTER 非同步複製Master #- SYNC_MASTER 同步雙寫Master #- SLAVE brokerRole=SYNC_MASTER #刷盤方式 #- ASYNC_FLUSH 非同步刷盤 #- SYNC_FLUSH 同步刷盤 flushDiskType=SYNC_FLUSH #checkTransactionMessageEnable=false #發訊息執行緒池數量 #sendMessageThreadPoolNums=128 #拉訊息執行緒池數量 #pullMessageThreadPoolNums=128
broker-b-s.properties中的配置檔案如下
#所屬叢集名字 brokerClusterName=rocketmq-cluster #broker名字,注意此處不同的配置檔案填寫的不一樣 brokerName=broker-b #0 表示 Master,>0 表示 Slave brokerId=1 #nameServer地址,分號分割 namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876 #在傳送訊息時,自動建立伺服器不存在的topic,預設建立的佇列數 defaultTopicQueueNums=4 #是否允許 Broker 自動建立Topic,建議線下開啟,線上關閉 autoCreateTopicEnable=true #是否允許 Broker 自動建立訂閱組,建議線下開啟,線上關閉 autoCreateSubscriptionGroup=true #Broker 對外服務的監聽埠 listenPort=11011 #刪除檔案時間點,預設凌晨 4點 deleteWhen=04 #檔案保留時間,預設 48 小時 fileReservedTime=120 #commitLog每個檔案的大小預設1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每個檔案預設存30W條,根據業務情況調整 mapedFileSizeConsumeQueue=300000 #destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #檢測物理檔案磁碟空間 diskMaxUsedSpaceRatio=88 #儲存路徑 storePathRootDir=/usr/local/rocketmq/store #commitLog 儲存路徑 storePathCommitLog=/usr/local/rocketmq/store/commitlog #消費佇列儲存路徑儲存路徑 storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue #訊息索引儲存路徑 storePathIndex=/usr/local/rocketmq/store/index #checkpoint 檔案儲存路徑 storeCheckpoint=/usr/local/rocketmq/store/checkpoint #abort 檔案儲存路徑 abortFile=/usr/local/rocketmq/store/abort #限制的訊息大小 maxMessageSize=65536 #flushCommitLogLeastPages=4 #flushConsumeQueueLeastPages=2 #flushCommitLogThoroughInterval=10000 #flushConsumeQueueThoroughInterval=60000 #Broker 的角色 #- ASYNC_MASTER 非同步複製Master #- SYNC_MASTER 同步雙寫Master #- SLAVE brokerRole=SLAVE #刷盤方式 #- ASYNC_FLUSH 非同步刷盤 #- SYNC_FLUSH 同步刷盤 flushDiskType=ASYNC_FLUSH #checkTransactionMessageEnable=false #發訊息執行緒池數量 #sendMessageThreadPoolNums=128 #拉訊息執行緒池數量 #pullMessageThreadPoolNums=128
伺服器:192.168.100.129內需配置(下圖中的:broker-b.properties和broker-a-s.properties)
broker-b.properties中的配置檔案如下
#所屬叢集名字 brokerClusterName=rocketmq-cluster #broker名字,注意此處不同的配置檔案填寫的不一樣 brokerName=broker-b #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/rocketmq/store #commitLog 儲存路徑 storePathCommitLog=/usr/local/rocketmq/store/commitlog #消費佇列儲存路徑儲存路徑 storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue #訊息索引儲存路徑 storePathIndex=/usr/local/rocketmq/store/index #checkpoint 檔案儲存路徑 storeCheckpoint=/usr/local/rocketmq/store/checkpoint #abort 檔案儲存路徑 abortFile=/usr/local/rocketmq/store/abort #限制的訊息大小 maxMessageSize=65536 #flushCommitLogLeastPages=4 #flushConsumeQueueLeastPages=2 #flushCommitLogThoroughInterval=10000 #flushConsumeQueueThoroughInterval=60000 #Broker 的角色 #- ASYNC_MASTER 非同步複製Master #- SYNC_MASTER 同步雙寫Master #- SLAVE brokerRole=SYNC_MASTER #刷盤方式 #- ASYNC_FLUSH 非同步刷盤 #- SYNC_FLUSH 同步刷盤 flushDiskType=SYNC_FLUSH #checkTransactionMessageEnable=false #發訊息執行緒池數量 #sendMessageThreadPoolNums=128 #拉訊息執行緒池數量 #pullMessageThreadPoolNums=128
broker-a-s.properties中的配置檔案如下
#所屬叢集名字 brokerClusterName=rocketmq-cluster #broker名字,注意此處不同的配置檔案填寫的不一樣 brokerName=broker-a #0 表示 Master,>0 表示 Slave brokerId=1 #nameServer地址,分號分割 namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876 #在傳送訊息時,自動建立伺服器不存在的topic,預設建立的佇列數 defaultTopicQueueNums=4 #是否允許 Broker 自動建立Topic,建議線下開啟,線上關閉 autoCreateTopicEnable=true #是否允許 Broker 自動建立訂閱組,建議線下開啟,線上關閉 autoCreateSubscriptionGroup=true #Broker 對外服務的監聽埠 listenPort=11011 #刪除檔案時間點,預設凌晨 4點 deleteWhen=04 #檔案保留時間,預設 48 小時 fileReservedTime=120 #commitLog每個檔案的大小預設1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每個檔案預設存30W條,根據業務情況調整 mapedFileSizeConsumeQueue=300000 #destroyMapedFileIntervalForcibly=120000 #redeleteHangedFileInterval=120000 #檢測物理檔案磁碟空間 diskMaxUsedSpaceRatio=88 #儲存路徑 storePathRootDir=/usr/local/rocketmq/store #commitLog 儲存路徑 storePathCommitLog=/usr/local/rocketmq/store/commitlog #消費佇列儲存路徑儲存路徑 storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue #訊息索引儲存路徑 storePathIndex=/usr/local/rocketmq/store/index #checkpoint 檔案儲存路徑 storeCheckpoint=/usr/local/rocketmq/store/checkpoint #abort 檔案儲存路徑 abortFile=/usr/local/rocketmq/store/abort #限制的訊息大小 maxMessageSize=65536 #flushCommitLogLeastPages=4 #flushConsumeQueueLeastPages=2 #flushCommitLogThoroughInterval=10000 #flushConsumeQueueThoroughInterval=60000 #Broker 的角色 #- ASYNC_MASTER 非同步複製Master #- SYNC_MASTER 同步雙寫Master #- SLAVE brokerRole=SLAVE #刷盤方式 #- ASYNC_FLUSH 非同步刷盤 #- SYNC_FLUSH 同步刷盤 flushDiskType=ASYNC_FLUSH #checkTransactionMessageEnable=false #發訊息執行緒池數量 #sendMessageThreadPoolNums=128 #拉訊息執行緒池數量 #pullMessageThreadPoolNums=128
服務啟動
1.啟動nameserver叢集
nohup sh mqnamesrv &
2.啟動broker叢集
在192.168.100.128上啟動master1和slave2
a.啟動master1
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a.properties &
b.啟動slave2
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b-s.properties &
在192.168.100.129上啟動master2和slave1
a.啟動master2
sh mqbroker -c /usr/local/rocketmq/rocketmq-all-4.8.0-bin-release/conf/2m-2s-sync/broker-b.properties &
b.啟動slave1
nohup sh mqbroker -c /usr/local/rocketmq/rocketmq-all-4.8.0-bin-release/conf/2m-2s-sync/broker-a-s.properties &