溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

RocketMQ搭建集群步驟

發(fā)布時(shí)間:2020-05-30 12:19:14 來源:億速云 閱讀:538 作者:鴿子 欄目:建站服務(wù)器
  1. 準(zhǔn)備材料:
    • Linux操作環(huán)境( 假設(shè)兩臺服務(wù)器ip為:192.168.74.130和192.168.74.131);
    • RocketMQ
    • JDK 1.8+
  2. 分別修改兩臺服務(wù)RockerMQ的配置文件,路徑為:rocketmq-4.6.1/conf/2m-2s-async(這里以異步為例)
  • broker-a.properties(broker a的Master配置文件)  broker-a-s.properties(broker a的Slave配置文件)
  • broker-b.properties(broker b的Master配置文件)  broker-b-s.properties(broker b的Slave配置文件)

    130服務(wù)器修改 a的master 與 b 的slave配置文件,131服務(wù)器修改 b的master 與 a 的slave配置文件;

    這里以130的配置文件為例:
    master文件:

                                        brokerClusterName=DefaultCluster
                                        #broker 名稱
                                        brokerName=broker-a
                                        # broker id 0-Master 其他-Slave
                                        brokerId=0
                                        deleteWhen=04
                                        fileReservedTime=48
                                        brokerRole=ASYNC_MASTER
                                        flushDiskType=ASYNC_FLUSH
                                        #namesrv地址列表,多個(gè)用,或;分割                           
                                        namesrvAddr=192.168.74.130:9876;192.168.74.131:9876
                                        #監(jiān)聽端口,默認(rèn)為10911,多個(gè)broker 端口不能相同
                                        listenPort=10911
                                        #日志 同一臺服務(wù)器上多個(gè)broker的配置路徑不能為相同,否則報(bào)錯(cuò):服務(wù)已經(jīng)啟動(dòng)
                                        storePathRootDir=/data/rocketmq/store/rootdir-a
                                        storePathCommitLog=/data/rocketmq/store/commitlog-a

    slave文件:

                                        brokerClusterName=DefaultCluste
                                        brokerName=broker-b
                                        brokerId=1
                                        deleteWhen=04
                                        fileReservedTime=48
                                        brokerRole=SLAVE
                                        flushDiskType=ASYNC_FLUS
                                        listenPort=10921
                                        namesrvAddr=192.168.74.130:9876,192.168.74.131:9876
                                        storePathRootDir=/data/rocketmq/store/rootdir-b-s
                                        storePathCommitLog=/data/rocketmq/store/commitlog-b-s
  1. 啟動(dòng)步驟

    • 分別啟動(dòng)兩臺服務(wù)器的NameSrv (默認(rèn)端口號為9876)
      nohup sh bin/mqnamesrv &;
    • 分別啟動(dòng)兩天服務(wù)器的master broker  -c 參數(shù)指定啟動(dòng)時(shí)讀取的配置文件的路徑,不加讀取默認(rèn)的配置文件
      nohup sh bin/mqbroker -c ./conf/2m-2s-async/broker-a.properties  & //130上執(zhí)行啟動(dòng)a broker的master
      nohup sh bin/mqbroker -c ./conf/2m-2s-async/broker-b.properties  & //131上執(zhí)行啟動(dòng)b broker的master
    • 分別啟動(dòng)兩臺服務(wù)器的slave broker
      nohup sh bin/mqbroker -c ./conf/2m-2s-async/broker-b-s.properties  & //130上執(zhí)行啟動(dòng)b broker的slave
      nohup sh bin/mqbroker -c ./conf/2m-2s-async/broker-b.properties  & //131上執(zhí)行啟動(dòng)a broker的slave
  2. 使用 jps 命令進(jìn)行查看服務(wù)是否啟動(dòng)
    [root@localhost bin]# jps
    5329 Jps
    3161 NamesrvStartup
    3401 BrokerStartup
    4509 BrokerStartup

    到這里就成功的啟動(dòng)起來了。

  3. 其他命令
    關(guān)閉broker : sh bin/mqshutdown broker
    關(guān)閉namesrv:sh bin/mqshutdown namesrv
  4. 問題總結(jié):
    1.啟動(dòng)broker時(shí)報(bào)jvm內(nèi)存不足
    原因:默認(rèn)jvm 內(nèi)存配置高于物理內(nèi)存配置
    解決方法:修改bin目錄下runbroker.sh、runserver.sh
    JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m"
    JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    2.broker 無法注冊另外一臺namesrv
    原因:
    1. 網(wǎng)絡(luò)不可達(dá) (檢查網(wǎng)絡(luò))
    2. 檢查防火墻是否開啟(關(guān)閉防火墻命令 systemctl stop firewalld)
      3.啟動(dòng)多個(gè)broker時(shí)報(bào)broker已啟動(dòng)
      原因:
      1.啟動(dòng)時(shí)沒有指定配置文件或未修改配置文件監(jiān)聽端口,導(dǎo)致端口沖突;
      2.未指定日志文件路徑或路徑一致;
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI