1、集群部署概述
1.1、RocketMQ部署結(jié)構(gòu)圖:

各部分說明:
(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、下載

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

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)
