RocketMQ-雙master環(huán)境搭建

  • RocketMQ下載地址:https://rocketmq.apache.org/release_notes/release-notes-4.2.0/

  • 服務(wù)器環(huán)境

    IP地址 模式 環(huán)境
    192.168.0.185 master Java1.8開發(fā)環(huán)境
    192.168.0.186 master Java1.8開發(fā)環(huán)境
  • 配置RocketMQ環(huán)境

    #進(jìn)入安裝目錄
    cd /usr/local/src/
    #獲取rocketMQ
    wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip
    #解壓rocketMQ.zip文件
    unzip rocketmq-all-4.2.0-bin-release.zip -d rocketmq
    #修改rocketMQ配置文件
    vim /usr/local/rocketmq/conf/2m-noslave/broker-a.properties(192.168.0.185)
    vim /usr/local/rocketmq/conf/2m-noslave/broker-b.properties(192.168.0.186)
    #所屬集群名字
    borkerClusterName=rocketmq-cluster
    #broker名字,注意此處不同的配置文件填寫的不一樣
    brokerName=broker-a //192.168.0.185為broker-a,192.168.0.186為broker-b
    #0 表示Master, >0 表示Slave
    brokerId=0
    #nameServer地址,分號分割
    namesrvAddr=192.168.0.185:9876;192.168.0.186:9876
    #在發(fā)消息時,自動創(chuàng)建服務(wù)器不存在的topic,默認(rèn)創(chuàng)建的隊(duì)列數(shù)
    defaultTopicQueueNums=4
    #是否允許Broker自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
    autoCreateTopicEnable=true
    #是否允許Broker自動創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉
    autoCreateSubscriptionGroup=true
    #Broker 對外服務(wù)的監(jiān)聽端口
    listenPort=10911
    #刪除文件時間點(diǎn),默認(rèn)凌晨4點(diǎn)
    deleteWhen=04
    #文件保留時間,默認(rèn)48小時
    fileReservedTime=120
    #commitLog每個文件的大小默認(rèn)1G
    mapedFileSizeCommitLog=1073741824
    #ConsumeQueue每個文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
    mapedFileSizeConsumeQueue=300000
    #destroyMapedFileIntervalForcibly=120000
    #redeleteHangedFileInterval=120000
    #檢測物理文件磁盤空間
    diskMaxUsedSpaceRatio=88
    #存儲路徑
    storePathRootDir=/usr/local/src/rocketmq/store
    #commitLog存儲路徑
    storePathCommitLog=/usr/local/src/rocketmq/store/commitlog
    #消費(fèi)隊(duì)列存儲路徑
    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 異步復(fù)制Master
    #- SYNC_MASTER 同步雙寫Master
    #- SLAVE
    brokerRole=ASYNC_MASTER
    
    #刷盤方式
    #- ASYNC_FLUSH  異步刷盤
    #- SYNC_FLUSH 同步刷盤
    flushDiskType=ASYNC_FLUSH
    
    checkTransactionMessageEnable=false
    #發(fā)消息線程池?cái)?shù)量
    sendMessageThreadPoolNums=128
    #拉消息線程池?cái)?shù)量
    pullMessageThreadPoolNums=128
    
  • 修改兩臺服務(wù)器的rocketMQ日志配置文件

    mkdir -p /usr/local/src/rocketmq/logs
    cd /usr/local/src/rocketmq/conf && sed -i 's#${user.home}#/usr/local/src/rocketmq#g' *.xml
    
  • 修改兩臺服務(wù)器RocketMQ啟動腳本參數(shù)(主要配置JVM參數(shù)根據(jù)自己服務(wù)器內(nèi)存大小進(jìn)行分配)

    vim /usr/local/src/rocketmq/bin/runserver.sh
    vim /usr/local/src/rocketmq/bin/runbroker.sh
    #分別設(shè)置JVM(-Xmx)最大可用內(nèi)存為服務(wù)器的內(nèi)存,設(shè)置JVM促使內(nèi)存(-Xms)為服務(wù)器的內(nèi)存,設(shè)置JVM年輕代(-Xmn)為服務(wù)器內(nèi)存的一半即可
    

    ps:JVM調(diào)優(yōu)設(shè)置參考:https://www.cnblogs.com/lcword/p/5857918.html

  • 關(guān)閉兩臺服務(wù)器防火墻或者開放端口

    #關(guān)閉防火墻
    systemctl stop firewalld
    #或者開放端口
    firewall-cmd --zone=public --add-port=9876/tcp --permanent  
    
  • 啟動兩臺服務(wù)器的NameServer

    #進(jìn)入rocketmq目錄
    cd /usr/local/src/rocketmq/bin
    #啟動nameserver服務(wù)
    nohup sh mqnamesrv &
    
  • 啟動192.168.0.185BrokerServer

    nohup sh mqbroker -c /usr/local/src/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 &
    
  • 啟動192.168.0.186的BrokerServer

    nohup sh mqbroker -c /usr/local/src/rocketmq/conf/2m-noslave/broker-b.properties >/dev/null 2>&1 &
    
  • 檢查nameserver和brokerserver狀態(tài)

    #顯示當(dāng)前所有Java進(jìn)程
    jps
    #106688 NamesrvStartup
    #107028 Jps
    #106730 BrokerStartup
    #查看日志信息
    tail -f -n  /usr/local/src/rocketmq/logs/rocketmqlogs/broker.log
    tail -f -n /usr/local/src/rocketmq/logs/rocketmqlogs/namesrv.log
    
  • 關(guān)閉broker服務(wù)和nameserver服務(wù)

    #關(guān)閉broker服務(wù)
    sh /usr/local/src/rocketmq/bin/mqshutdown broker
    #關(guān)閉nameserver服務(wù)
    sh /usr/local/src/rocketmq/bin/mqshutdown namesrv
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容