1.RocketMQ集群安裝

1、集群部署概述

1.1、RocketMQ部署結(jié)構(gòu)圖:

image.png

各部分說明:
(1)Producer:生產(chǎn)者
(2)Consumer:消費(fèi)者
(3)NameServer:RockerMQ的注冊中心,多個實(shí)例組成集群,但相互獨(dú)立,沒有信息交換。每個Broker都向所有NameServer實(shí)例注冊。
(4)Broker:負(fù)責(zé)存儲消息、轉(zhuǎn)發(fā)消息。

1.2、RockerMQ集群部署方式

NameServer集群部署簡單,多實(shí)例之間獨(dú)立部署。主要是Broker集群部署相對復(fù)雜,其部署方式可分成如下:
(1)單Master模式
(2)多Master模式
(3)多Master多Slave模式-同步復(fù)制
(4)多Master多Slave模式-異步復(fù)制
(5)Dledger高可用集群

本篇文章就是簡單介紹下“多Master多Slave模式-同步復(fù)制”搭建過程。計(jì)劃在3臺主機(jī)上搭建3主3從集群。

2、準(zhǔn)備

2.1、RocketMQ下載

從官網(wǎng)上下載:https://rocketmq.apache.org/
版本:rocketmq-all-4.8.0-bin-release.zip

2.2、主機(jī)

三臺Centos7主機(jī)

主機(jī)名 主機(jī)ip 角色
learn1 192.168.31.200 nameserver、broker-a-master、broker-b-slave
learn2 192.168.31.201 nameserver、broker-b-master、broker-c-slave
learn3 192.168.31.202 nameserver、broker-c-master、broker-a-slave

2.3、jdk

jdk8

3、安裝rocketmq

三臺主機(jī)都要安裝

3.1、安裝rocketmq

上傳rocketmq到主機(jī)上/home/wentian/rocketmq/3m3ssync,并解壓改名成rocketmq

$ cd /home/wentian/rocketmq/3m3ssync
$ unzip rocketmq-all-4.8.0-bin-release.zip
$ mv rocketmq-all-4.8.0-bin-release rocketmq

3.2、創(chuàng)建目錄

$ cd /home/wentian/rocketmq/3m3ssync/rocketmq
$ mkdir logs
$ mkdir sh
$ mkdir data

logs --- 日志目錄
sh --- 腳本目錄
data --- 數(shù)據(jù)目錄

3.3、修改日志路徑

(1)修改nameserver日志文件
日志文件路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/conf/logback_namesrv.xml
修改其中所有的日志路徑,示例:

原:
${user.home}/logs/rocketmqlogs/namesrv_default.log
改成:
${LOG_HOME}/${TARGET}/namesrv_default.log

LOG_HOME --- 日志根路徑
TARGET --- 自定義進(jìn)程名,這是為了分開同一臺主機(jī)上不同rocketmq進(jìn)程日志,便于查看
這兩個屬性會在啟動腳本中配置,見后續(xù)啟動腳本配置

(2)修改broker日志文件
位置文件路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/conf/logback_broker.xml
修改日志路徑,同nameserver一樣配置

3.4、修改JVM內(nèi)存參數(shù)

(1)修改nameserver節(jié)點(diǎn)JVM參數(shù)
修改啟動JVM內(nèi)存
修改/home/wentian/rocketmq/3m3ssync/rocketmq/bin/runserver.sh

原:
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"

(2)修改broker節(jié)點(diǎn)JVM參數(shù)
修改JVM內(nèi)存
修改/home/wentian/rocketmq/3m3ssync/rocketmq/bin/runbroker.sh

原:
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
改成:
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m"

4、部署nameserver

三臺主機(jī)上都部署nameserver相關(guān)

4.1、啟停腳本

(1)啟動腳本
路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/sh/startnamesrv.sh

export JAVA_HOME=/home/wentian/app/java/jdk8
export WORK_HOME=/home/wentian/rocketmq/3m3ssync/rocketmq
export LOG_HOME=${WORK_HOME}/logs
export TARGET=namesrv

cd ${WORK_HOME}
nohup sh bin/mqnamesrv > ./logs/namesrv.log 2>&1 &

(2)停止腳本
路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/sh/stopnamesrv.sh

export JAVA_HOME=/home/wentian/app/java/jdk8
export WORK_HOME=/home/wentian/rocketmq/3m3ssync/rocketmq
export LOG_HOME=${WORK_HOME}/logs
export TARGET=namesrv
cd ${WORK_HOME}

sh bin/mqshutdown namesrv

4.2、啟動namesrv

執(zhí)行startnamesrv.sh

5、部署broker

5.1、部署第一臺192.168.31.200

需要部署兩個broker:broker-a-master、broker-b-slave
(1)配置broker-a配置文件
配置文件路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/conf/3m-3s-sync/broker-a.properties

#所屬集群名稱
brokerClusterName=rocketmq-cluster
#broker名字
brokerName=broker-a
#0>表示master,>0表示slave
brokerId=0
#刪除文件時間點(diǎn),默認(rèn)凌晨4點(diǎn)
deleteWhen=04
#文件保留時間,默認(rèn)48小時
fileReservedTime=48
#broker角色,ASYNC_MASTER=異步復(fù)制Master,SYNC_MASTER=同步雙寫Master,SLAVE=slave節(jié)點(diǎn)
brokerRole=SYNC_MASTER
#刷盤方式,ASYNC_FLUSH=異步刷盤,SYNC_FLUSH=同步刷盤
flushDiskType=ASYNC_FLUSH
#broker對我服務(wù)的監(jiān)聽端口,broker會占用三個端口,listenPort-2、listenPort、listenPort+1
listenPort=10910
#nameServer地址,分號分隔多個
namesrvAddr=192.168.31.200:9876;192.168.31.201:9876;192.168.31.202:9876
#默認(rèn)的Topic隊(duì)列數(shù),默認(rèn)是4
defaultTopicQueueNums=4
#自動創(chuàng)建Topic,建議線上關(guān)閉,線下開啟
autoCreateTopicEnable=true
#自動創(chuàng)建訂閱組,建議線上關(guān)閉,線下開啟
autoCreateSubscriptionGroup=true

#commitLog每個文件的大小默認(rèn)1G
#mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
#mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#物理磁盤最大利用百分比,超過則報(bào)警
#diskMaxUsedSpaceRatio=88

#存儲路徑
storePathRootDir=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-a
#commitLog 存儲路徑
storePathCommitLog=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-a/commitlog
#消費(fèi)隊(duì)列存儲路徑存儲路徑
storePathConsumerQueue=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-a/consumequeue
#消息索引存儲路徑
storePathIndex=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-a/index
#checkpoint 文件存儲路徑
storeCheckpoint=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-a/checkpoint
#abort 文件存儲路徑
abortFile=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-a/abort

注:
a)相關(guān)存儲路徑,在首次啟動時會自動創(chuàng)建,主從兩臺主機(jī)就配置相同路徑
b)注意不同點(diǎn)配置
brokerName:主從兩臺主機(jī),配置相同
brokerId:主從兩臺主機(jī),主配置0,從配置>0,這里配置1,(如果多個從,則依次遞增)
brokerRole:主配置SYNC_MASTER,從配置SLAVE
listenPort:監(jiān)聽端口,但是broker啟動會在此基礎(chǔ)上供監(jiān)聽三個端口,分別是:listenPort-2、listenPort、listenPort+1。

(2)配置broker-b-s.properties配置文件
配置文件路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/conf/3m-3s-sync/broker-b-s.properties

#所屬集群名稱
brokerClusterName=rocketmq-cluster
#broker名字
brokerName=broker-b
#0>表示master,>0表示slave
brokerId=1
#刪除文件時間點(diǎn),默認(rèn)凌晨4點(diǎn)
deleteWhen=04
#文件保留時間,默認(rèn)48小時
fileReservedTime=48
#broker角色,ASYNC_MASTER=異步復(fù)制Master,SYNC_MASTER=同步雙寫Master,SLAVE=slave節(jié)點(diǎn)
brokerRole=SLAVE
#刷盤方式,ASYNC_FLUSH=異步刷盤,SYNC_FLUSH=同步刷盤
flushDiskType=ASYNC_FLUSH
#broker對我服務(wù)的監(jiān)聽端口
listenPort=10920
#nameServer地址,分號分隔多個
namesrvAddr=192.168.31.200:9876;192.168.31.201:9876;192.168.31.202:9876
#默認(rèn)的Topic隊(duì)列數(shù),默認(rèn)是4
defaultTopicQueueNums=4
#自動創(chuàng)建Topic,建議線上關(guān)閉,線下開啟
autoCreateTopicEnable=true
#自動創(chuàng)建訂閱組,建議線上關(guān)閉,線下開啟
autoCreateSubscriptionGroup=true

#commitLog每個文件的大小默認(rèn)1G
#mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
#mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#物理磁盤最大利用百分比,超過則報(bào)警
#diskMaxUsedSpaceRatio=88

#存儲路徑
storePathRootDir=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-b
#commitLog 存儲路徑
storePathCommitLog=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-b/commitlog
#消費(fèi)隊(duì)列存儲路徑存儲路徑
storePathConsumerQueue=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-b/consumequeue
#消息索引存儲路徑
storePathIndex=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-b/index
#checkpoint 文件存儲路徑
storeCheckpoint=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-b/checkpoint
#abort 文件存儲路徑
abortFile=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-b/abort

(3)broker-a啟動腳本
路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/sh/startbroker-a.sh

export JAVA_HOME=/home/wentian/app/java/jdk8
export WORK_HOME=/home/wentian/rocketmq/3m3ssync/rocketmq
export LOG_HOME=${WORK_HOME}/logs
export TARGET=broker_a

cd ${WORK_HOME}
nohup sh bin/mqbroker -c conf/3m-3s-sync/broker-a.properties > ./logs/broker-a.log 2>&1 &

(4)broker-b-s啟動腳本
路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/sh/startbroker-b-s.sh

export JAVA_HOME=/home/wentian/app/java/jdk8
export WORK_HOME=/home/wentian/rocketmq/3m3ssync/rocketmq
export LOG_HOME=${WORK_HOME}/logs
export TARGET=broker_b_s

cd ${WORK_HOME}
nohup sh bin/mqbroker -c conf/3m-3s-sync/broker-b-s.properties  > ./logs/broker-b.log 2>&1 &

(5)停止腳本
路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/sh/stopbroker.sh
該停止腳本會停掉該主機(jī)上所有broker

export JAVA_HOME=/home/wentian/app/java/jdk8
cd /home/wentian/rocketmq/3m3ssync/rocketmq
sh bin/mqshutdown broker

5.2、部署第二臺192.168.31.201

部署兩個broker:broker-b-master、broker-c-slave
(1)配置broker-b.properties
配置文件路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/conf/3m-3s-sync/broker-b.properties

#所屬集群名稱
brokerClusterName=rocketmq-cluster
#broker名字
brokerName=broker-b
#0>表示master,>0表示slave
brokerId=0
#刪除文件時間點(diǎn),默認(rèn)凌晨4點(diǎn)
deleteWhen=04
#文件保留時間,默認(rèn)48小時
fileReservedTime=48
#broker角色,ASYNC_MASTER=異步復(fù)制Master,SYNC_MASTER=同步雙寫Master,SLAVE=slave節(jié)點(diǎn)
brokerRole=SYNC_MASTER
#刷盤方式,ASYNC_FLUSH=異步刷盤,SYNC_FLUSH=同步刷盤
flushDiskType=ASYNC_FLUSH
#broker對我服務(wù)的監(jiān)聽端口
listenPort=10920
#nameServer地址,分號分隔多個
namesrvAddr=192.168.31.200:9876;192.168.31.201:9876;192.168.31.202:9876
#默認(rèn)的Topic隊(duì)列數(shù),默認(rèn)是4
defaultTopicQueueNums=4
#自動創(chuàng)建Topic,建議線上關(guān)閉,線下開啟
autoCreateTopicEnable=true
#自動創(chuàng)建訂閱組,建議線上關(guān)閉,線下開啟
autoCreateSubscriptionGroup=true

#commitLog每個文件的大小默認(rèn)1G
#mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
#mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#物理磁盤最大利用百分比,超過則報(bào)警
#diskMaxUsedSpaceRatio=88

#存儲路徑
storePathRootDir=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-b
#commitLog 存儲路徑
storePathCommitLog=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-b/commitlog
#消費(fèi)隊(duì)列存儲路徑存儲路徑
storePathConsumerQueue=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-b/consumequeue
#消息索引存儲路徑
storePathIndex=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-b/index
#checkpoint 文件存儲路徑
storeCheckpoint=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-b/checkpoint
#abort 文件存儲路徑
abortFile=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-b/abort

(2)配置broker-c-s.properties
配置文件路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/conf/3m-3s-sync/broker-c-s.properties

#所屬集群名稱
brokerClusterName=rocketmq-cluster
#broker名字
brokerName=broker-c
#0>表示master,>0表示slave
brokerId=1
#刪除文件時間點(diǎn),默認(rèn)凌晨4點(diǎn)
deleteWhen=04
#文件保留時間,默認(rèn)48小時
fileReservedTime=48
#broker角色,ASYNC_MASTER=異步復(fù)制Master,SYNC_MASTER=同步雙寫Master,SLAVE=slave節(jié)點(diǎn)
brokerRole=SLAVE
#刷盤方式,ASYNC_FLUSH=異步刷盤,SYNC_FLUSH=同步刷盤
flushDiskType=ASYNC_FLUSH
#broker對我服務(wù)的監(jiān)聽端口
listenPort=10930
#nameServer地址,分號分隔多個
namesrvAddr=192.168.31.200:9876;192.168.31.201:9876;192.168.31.202:9876
#默認(rèn)的Topic隊(duì)列數(shù),默認(rèn)是4
defaultTopicQueueNums=4
#自動創(chuàng)建Topic,建議線上關(guān)閉,線下開啟
autoCreateTopicEnable=true
#自動創(chuàng)建訂閱組,建議線上關(guān)閉,線下開啟
autoCreateSubscriptionGroup=true

#commitLog每個文件的大小默認(rèn)1G
#mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
#mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#物理磁盤最大利用百分比,超過則報(bào)警
#diskMaxUsedSpaceRatio=88

#存儲路徑
storePathRootDir=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-c
#commitLog 存儲路徑
storePathCommitLog=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-c/commitlog
#消費(fèi)隊(duì)列存儲路徑存儲路徑
storePathConsumerQueue=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-c/consumequeue
#消息索引存儲路徑
storePathIndex=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-c/index
#checkpoint 文件存儲路徑
storeCheckpoint=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-c/checkpoint
#abort 文件存儲路徑
abortFile=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-c/abort

(3)brokder-b啟動腳本
腳本路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/sh/startbroker-b.sh

export JAVA_HOME=/home/wentian/app/java/jdk8
export WORK_HOME=/home/wentian/rocketmq/3m3ssync/rocketmq
export LOG_HOME=${WORK_HOME}/logs
export TARGET=broker_b
cd ${WORK_HOME}
nohup sh bin/mqbroker -c conf/3m-3s-sync/broker-b.properties > ./logs/broker-b.log 2>&1 &

(4)broker-c-s啟動腳本
腳本路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/sh/startbroker-c-s.sh

export JAVA_HOME=/home/wentian/app/java/jdk8
export WORK_HOME=/home/wentian/rocketmq/3m3ssync/rocketmq
export LOG_HOME=${WORK_HOME}/logs
export TARGET=broker_c_s
cd ${WORK_HOME}
nohup sh bin/mqbroker -c conf/3m-3s-sync/broker-c-s.properties > ./logs/broker-c.log 2>&1 &

(5)broker停止腳本
同主機(jī)1

5.3、部署第三臺192.168.31.202

部署兩個broker:broker-c-master、broker-a-slave
(1)配置broker-c.properties
配置文件路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/conf/3m-3s-sync/broker-c.properties

#所屬集群名稱
brokerClusterName=rocketmq-cluster
#broker名字
brokerName=broker-c
#0>表示master,>0表示slave
brokerId=0
#刪除文件時間點(diǎn),默認(rèn)凌晨4點(diǎn)
deleteWhen=04
#文件保留時間,默認(rèn)48小時
fileReservedTime=48
#broker角色,ASYNC_MASTER=異步復(fù)制Master,SYNC_MASTER=同步雙寫Master,SLAVE=slave節(jié)點(diǎn)
brokerRole=SYNC_MASTER
#刷盤方式,ASYNC_FLUSH=異步刷盤,SYNC_FLUSH=同步刷盤
flushDiskType=ASYNC_FLUSH
#broker對我服務(wù)的監(jiān)聽端口
listenPort=10930
#nameServer地址,分號分隔多個
namesrvAddr=192.168.31.200:9876;192.168.31.201:9876;192.168.31.202:9876
#默認(rèn)的Topic隊(duì)列數(shù),默認(rèn)是4
defaultTopicQueueNums=4
#自動創(chuàng)建Topic,建議線上關(guān)閉,線下開啟
autoCreateTopicEnable=true
#自動創(chuàng)建訂閱組,建議線上關(guān)閉,線下開啟
autoCreateSubscriptionGroup=true

#commitLog每個文件的大小默認(rèn)1G
#mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
#mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#物理磁盤最大利用百分比,超過則報(bào)警
#diskMaxUsedSpaceRatio=88

#存儲路徑
storePathRootDir=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-c
#commitLog 存儲路徑
storePathCommitLog=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-c/commitlog
#消費(fèi)隊(duì)列存儲路徑存儲路徑
storePathConsumerQueue=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-c/consumequeue
#消息索引存儲路徑
storePathIndex=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-c/index
#checkpoint 文件存儲路徑
storeCheckpoint=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-c/checkpoint
#abort 文件存儲路徑
abortFile=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-c/abort

(2)配置broker-a-s.properties
配置文件路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/conf/3m-3s-sync/broker-a-s.properties

#所屬集群名稱
brokerClusterName=rocketmq-cluster
#broker名字
brokerName=broker-a
#0>表示master,>0表示slave
brokerId=1
#刪除文件時間點(diǎn),默認(rèn)凌晨4點(diǎn)
deleteWhen=04
#文件保留時間,默認(rèn)48小時
fileReservedTime=48
#broker角色,ASYNC_MASTER=異步復(fù)制Master,SYNC_MASTER=同步雙寫Master,SLAVE=slave節(jié)點(diǎn)
brokerRole=SLAVE
#刷盤方式,ASYNC_FLUSH=異步刷盤,SYNC_FLUSH=同步刷盤
flushDiskType=ASYNC_FLUSH
#broker對我服務(wù)的監(jiān)聽端口
listenPort=10910
#nameServer地址,分號分隔多個
namesrvAddr=192.168.31.200:9876;192.168.31.201:9876;192.168.31.202:9876
#默認(rèn)的Topic隊(duì)列數(shù),默認(rèn)是4
defaultTopicQueueNums=4
#自動創(chuàng)建Topic,建議線上關(guān)閉,線下開啟
autoCreateTopicEnable=true
#自動創(chuàng)建訂閱組,建議線上關(guān)閉,線下開啟
autoCreateSubscriptionGroup=true

#commitLog每個文件的大小默認(rèn)1G
#mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認(rèn)存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
#mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#物理磁盤最大利用百分比,超過則報(bào)警
#diskMaxUsedSpaceRatio=88

#存儲路徑
storePathRootDir=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-a
#commitLog 存儲路徑
storePathCommitLog=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-a/commitlog
#消費(fèi)隊(duì)列存儲路徑存儲路徑
storePathConsumerQueue=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-a/consumequeue
#消息索引存儲路徑
storePathIndex=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-a/index
#checkpoint 文件存儲路徑
storeCheckpoint=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-a/checkpoint
#abort 文件存儲路徑
abortFile=/home/wentian/rocketmq/3m3ssync/rocketmq/data/store-a/abort

(3)brokder-c啟動腳本
腳本路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/sh/startbroker-c.sh

export JAVA_HOME=/home/wentian/app/java/jdk8
export WORK_HOME=/home/wentian/rocketmq/3m3ssync/rocketmq
export LOG_HOME=${WORK_HOME}/logs
export TARGET=broker_c
cd ${WORK_HOME}
nohup sh bin/mqbroker -c conf/3m-3s-sync/broker-c.properties > ./logs/broker-c.log 2>&1 &

(4)broker-a-s啟動腳本
腳本路徑:/home/wentian/rocketmq/3m3ssync/rocketmq/sh/startbroker-a-s.sh

export JAVA_HOME=/home/wentian/app/java/jdk8
export WORK_HOME=/home/wentian/rocketmq/3m3ssync/rocketmq
export LOG_HOME=${WORK_HOME}/logs
export TARGET=broker_a_s
cd ${WORK_HOME}
nohup sh bin/mqbroker -c conf/3m-3s-sync/broker-a-s.properties > ./logs/broker-a.log 2>&1 &

(5)broker停止腳本
同主機(jī)1

至此,broker三主三從部署完成,開始啟動驗(yàn)證。

6、啟動broker

按以下順序依次啟動
(1)啟動三臺nameserver
(2)啟動三臺broker master
(3)啟動三臺broker slave

7、安裝rocketmq可視化

7.1、下載

源碼下載地址: [https://github.com/apache/rocketmq-externals/tree/master/](https://github.com/apache/rocketmq-externals/tree/master/

image.png

7.2、編譯成jar

mvn clean package -Dmaven.test.skip=true
我這邊是在本機(jī)通過idea編譯


image.png

7.3、上傳jar到任一服務(wù)器上,執(zhí)行

上傳到第一臺主機(jī)192.168.31.200
啟動:
java -jar rocketmq-console-ng-2.0.0.jar --server.port=8080 --rocketmq.config.namesrvAddr=192.168.31.200:9876 > logs/console.log &

7.4、訪問rocketmq可視化系統(tǒng)

http://192.168.31.200:8080

image.png

?著作權(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)容