国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建

這篇具有很好參考價值的文章主要介紹了RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、RocketMQ產(chǎn)品特點

1、RocketMQ介紹

? RocketMQ是阿里巴巴開源的一個消息中間件,在阿里內(nèi)部歷經(jīng)了雙十一等很多高并發(fā)場景的考驗,能夠處理億萬級別的消息。2016年開源后捐贈給Apache,現(xiàn)在是Apache的一個頂級項目。

? 早期阿里使用ActiveMQ,但是,當(dāng)消息開始逐漸增多后,ActiveMQ的IO性能很快達到了瓶頸。于是,阿里開始關(guān)注Kafka。但是Kafka是針對日志收集場景設(shè)計的,他的高級功能并不是很貼合阿里的業(yè)務(wù)場景。尤其當(dāng)他的Topic過多時,由于Partition文件也會過多,這就會加大文件索引的耗時,會嚴重影響IO性能。于是阿里才決定自研中間件,最早叫做MetaQ,后來改名成為RocketMQ。最早他所希望解決的最大問題就是多Topic下的IO性能壓力。但是產(chǎn)品在阿里內(nèi)部的不斷改進,RocketMQ開始體現(xiàn)出一些不一樣的優(yōu)勢。

2、RocketMQ特點

當(dāng)今互聯(lián)網(wǎng)MQ產(chǎn)品眾多,其中,影響力和使用范圍最大的當(dāng)數(shù)Apache Kafka、RabbitMQ、Apache RocketMQ以及Apache Plusar。這幾大產(chǎn)品雖然都是典型的MQ產(chǎn)品,但是由于設(shè)計和實現(xiàn)上的一些差異,造成他們適合于不同的細分場景。
RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)

二、RocketMQ快速實戰(zhàn)

1、快速搭建RocketMQ服務(wù)

? RocketMQ的官網(wǎng)地址: http://rocketmq.apache.org 。在下載頁面可以獲取RocketMQ的源碼包以及運行包。下載頁面地址: https://rocketmq.apache.org/download

RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)
? 運行只需要下載Binary運行版本就可以了。 當(dāng)然,源碼包也建議下載下來,后續(xù)會進行解讀。運行包下載下來后,就可以直接解壓,上傳到服務(wù)器上。我們這里會上傳到/app/rocketmq目錄。解壓后幾個重要的目錄如下:
RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)
接下來,RocketMQ建議的運行環(huán)境需要至少12G的內(nèi)存,這是生產(chǎn)環(huán)境比較理想的資源配置。但是,學(xué)習(xí)階段,如果你的服務(wù)器沒有這么大的內(nèi)存空間,那么就需要做一下調(diào)整。進入bin目錄,對其中的runserver.sh和runbroker.sh兩個腳本進行一下修改。

? 使用vi runserver.sh指令,編輯這個腳本,找到下面的一行配置,調(diào)整Java進程的內(nèi)存大小。
RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)
? 接下來,同樣調(diào)整runbroker.sh中的內(nèi)存大小。
RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)
? RocketMQ的后端服務(wù)分為nameserver和broker兩個服務(wù)

  • 第一步:啟動nameserver服務(wù)。
cd /app/rocketmq/rocketmq-all-4.9.5-bin-release
nohup bin/mqnamesrv &

? 接下來,可以通過jsp指令進行驗證。使用jps指令后,可以看到有一個NamesrvStartup的進程運行,也表示nameserver服務(wù)啟動完成。

  • 第二步:啟動broker服務(wù)。
    ? 啟動broker服務(wù)之前,要做一個小小的配置。進入RocketMQ安裝目錄下的conf目錄,修改broker.conf文件,在文件最后面加入一個配置:
#自動創(chuàng)建主題
autoCreateTopicEnable=true

然后也可以用之前的方式啟動broker服務(wù)。啟動broker服務(wù)的指令是mqbroker

cd /app/rocketmq/rocketmq-all-4.9.5-bin-release
nohup bin/mqbroker &

注:1、在實際服務(wù)部署時,通常會將RocketMQ的部署地址添加到環(huán)境變量當(dāng)中。例如使用vi ~/.bash_profile指令,添加以下內(nèi)容。

export ROCKETMQ_HOME=/app/rocketmq/rocketmq-all-4.9.5-bin-releasePATH=$ROCKETMQ_HOME/bin:$PATHexport PATH

這樣就不必每次進入RocketMQ的安裝目錄了。直接可以使用mqnamesrv 和mqbroker指令。

2、停止RocketMQ服務(wù)可以通過mqshutdown指令進行

mqshutdown namesrv # 關(guān)閉nameserver服務(wù)

mqshutdown broker # 關(guān)閉broker服務(wù)

2、快速實現(xiàn)消息收發(fā)

? RocketMQ后端服務(wù)啟動完成后,就可以啟動客戶端的消息生產(chǎn)者和消息消費者進行消息轉(zhuǎn)發(fā)了。接下來,我們會先通過RocketMQ提供的命令行工具快速體驗一下RocketMQ消息收發(fā)的功能。然后,再動手搭建一個Maven項目,在項目中使用RocketMQ進行消息收發(fā)。

1、命令行快速實現(xiàn)消息收發(fā)

第一步:需要配置一個環(huán)境變量NAMESRV_ADDR,只想我們之前啟動的nameserver服務(wù)。
通過vi ~/.bash_profile添加以下配置。然后使用source ~/.bash_profile讓配置生效。

export NAMESRV_ADDR='localhost:9876' 

第二步通過指令啟動RocketMQ的消息生產(chǎn)者發(fā)送消息。

tools.sh org.apache.rocketmq.example.quickstart.Producer 

這個指令會默認往RocketMQ中發(fā)送1000條消息。在命令行窗口可以看到發(fā)送消息的日志:

RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)
第三步:可以啟動消息消費者接收之前發(fā)送的消息

tools.sh org.apache.rocketmq.example.quickstart.Consumer

RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)
? 每一條這樣的日志信息就表示消費者接收到了一條消息。

? 這個Consumer消費者的指令并不會主動結(jié)束,他會繼續(xù)掛起,等待消費新的消息。我們可以使用CTRL+C停止該進程。

3、搭建RocketMQ可視化管理服務(wù)

? 在之前的簡單實驗中,RocketMQ都是以后臺服務(wù)的方式在運行,我們并不很清楚RocketMQ是如何運行的。RocketMQ的社區(qū)就提供了一個圖形化的管理控制臺Dashboard,可以用可視化的方式直接觀測并管理RocketMQ的運行過程。
備注:直接放了打包好的jar包:
鏈接:https://pan.baidu.com/s/15_w9Q0t7dFVGHiTLJcHuWg
提取碼:bzg2

? Dashboard服務(wù)并不在RocketMQ的運行包中,需要到RocketMQ的官網(wǎng)下載頁面單獨下載。
? 這里只提供了源碼,并沒有提供直接運行的jar包。將源碼下載下來后,需要解壓并進入對應(yīng)的目錄,使用maven進行編譯。(需要提前安裝maven客戶端)

mvn clean package -Dmaven.test.skip=true

編譯完成后,在源碼的target目錄下會生成可運行的jar包rocketmq-dashboard-1.0.1-SNAPSHOT.jar。接下來可以將這個jar包上傳到服務(wù)器上。我們上傳到/app/rocketmq/rocketmq-dashboard目錄下
接下來我們需要在jar包所在的目錄下創(chuàng)建一個application.yml配置文件,在配置文件中做如下配置:

rocketmq: 
  config: 
    namesrvAddrs: 
      - 192.168.232.128:9876 

主要是要指定nameserver的地址。

接下來就可以通過java指令執(zhí)行這個jar包,啟動管理控制臺服務(wù)。

java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar

RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)

4、升級分布式集群

? 之前我們用一臺Linux服務(wù)器,快速搭建起了一整套RocketMQ的服務(wù)。但是很明顯,這樣搭建的服務(wù)是無法放到生產(chǎn)環(huán)境上去用的。一旦nameserver服務(wù)或者broker服務(wù)出現(xiàn)了問題,整個RocketMQ就無法正常工作。而且更嚴重的是,如果服務(wù)器出現(xiàn)了問題,比如磁盤壞了,那么存儲在磁盤上的數(shù)據(jù)就會丟失。這時RocketMQ暫存到磁盤上的消息也會跟著丟失,這個問題就非常嚴重了。因此,我們需要搭建一個分布式的RocketMQ服務(wù)集群,來防止單點故障問題。

? RocketMQ的分布式集群基于主從架構(gòu)搭建。在多個服務(wù)器組成的集群中,指定一部分節(jié)點作為Master節(jié)點,負責(zé)響應(yīng)客戶端的請求。指令另一部分節(jié)點作為Slave節(jié)點,負責(zé)備份Master節(jié)點上的數(shù)據(jù),這樣,當(dāng)Master節(jié)點出現(xiàn)故障時,在Slave節(jié)點上可以保留有數(shù)據(jù)備份,至少保證數(shù)據(jù)不會丟失。
整個集群方案如下圖所示:

RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)

? 接下來我們準備三臺相同的Linux服務(wù)器,搭建一下RocketMQ的分布式集群。為了更清晰的描述這三臺服務(wù)器上的操作,我們給每個服務(wù)器指定一個機器名。
RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)
? 為了便于觀察,我們這次搭建一個2主2從的RocketMQ集群,并將主節(jié)點和節(jié)點都分別部署在不同的服務(wù)器上。預(yù)備的集群規(guī)劃情況如下:
主機 nameServer服務(wù)部署 broker服務(wù)部署
master nameServer
node1 nameServer broker-a,broker-b-s
node2 nameServer broker-a-s,broker-b

解釋:即master主機只部署nameServer 注冊中心,node1部署主節(jié)點a和從節(jié)點b ,node2部署從節(jié)點a和主節(jié)點b

第一步:部署nameServer服務(wù)。
? nameServer服務(wù)不需要做特別的配置,按照之前的步驟,在三臺服務(wù)器上都分別部署nameServer服務(wù)即可。

第二步:對Broker服務(wù)進行集群配置。
? 這里需要修改RocketMQ的配置文件,對broker服務(wù)做一些集群相關(guān)的參數(shù)部署。這些配置文件并不需要我們手動進行創(chuàng)建,在RocketMQ運行包的conf目錄下,提供了多種集群的部署配置文件模板。
RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)

  • 2m-noslave: 2主無從的集群參考配置。這種集群存在單點故障。
  • 2m-2s-async和2m-2s-sync: 2主2從的集群參考配置。其中async和sync表示主節(jié)點與從節(jié)點之間是同步同步還是異步同步
  • dledger: 具備主從切換功能的高可用集群。集群中的節(jié)點會基于Raft協(xié)議隨機選舉出一個Leader,其作用類似于Master節(jié)點。其他的節(jié)點都是follower,其作用類似于Slave節(jié)點。

我們這次采用2m-2s-async的方式搭建集群,需要在node1和node2上修改這個文件夾下的配置文件。
1> 配置第一組broker-a服務(wù)
在worker2機器上配置broker-a的MASTER服務(wù),需要修改conf/2m-2s-async/broker-a.properties。示例配置如下:

#所屬集群名字,名字一樣的節(jié)點就在同一個集群內(nèi)
brokerClusterName=rocketmq-cluster
#broker名字,名字一樣的節(jié)點就是一組主從節(jié)點。
brokerName=broker-a
#brokerid,0就表示是Master,>0的都是表示 Slave
brokerId=0
#nameServer地址,分號分割
namesrvAddr=worker1:9876;worker2:9876;worker3:9876
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
autoCreateTopicEnable=true
deleteWhen=04
fileReservedTime=120
#存儲路徑
storePathRootDir=/app/rocketmq/store
storePathCommitLog=/app/rocketmq/store/commitlog
storePathConsumeQueue=/app/rocketmq/store/consumequeue
storePathIndex=/app/rocketmq/store/index
storeCheckpoint=/app/rocketmq/store/checkpoint
abortFile=/app/rocketmq/store/abort
#Broker 的角色
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=10911

這里對幾個需要重點關(guān)注的屬性,做下簡單介紹:

  • brokerClusterName:
    集群名。RocketMQ會將同一個局域網(wǎng)下所有brokerClusterName相同的服務(wù)自動組成一個集群,這個集群可以作為一個整體對外提供服務(wù)
  • brokerName:
    Broker服務(wù)名。同一個RocketMQ集群當(dāng)中,brokerName相同的多個服務(wù)會有一套相同的數(shù)據(jù)副本。同一個RocketMQ集群中,是可以將消息分散存儲到多個不同的brokerName服務(wù)上的。
  • brokerId:
    RocketMQ中對每個服務(wù)的唯一標識。RocketMQ對brokerId定義了一套簡單的規(guī)則,master節(jié)點需要固定配置為0,負責(zé)響應(yīng)客戶端的請求。slave節(jié)點配置成其他任意數(shù)字,負責(zé)備份master上的消息。
  • brokerRole:
    服務(wù)的角色。這個屬性有三個可選項:ASYNC_MASTER,SYNC_MASTER和SLAVE。其中,ASYNC_MASTER和SYNC_MASTER表示當(dāng)前節(jié)點是master節(jié)點,目前暫時不用關(guān)心他們的區(qū)別。SLAVE則表示從節(jié)點。
  • namesrvAddr:
    nameserver服務(wù)的地址。nameserver服務(wù)默認占用9876端口。多個nameserver地址用;隔開。

? 接下來在worekr3上配置broker-a的SLAVE服務(wù)。需要修改conf/2m-2s-async/broker-a-s.properties。示例配置如下:

#所屬集群名字,名字一樣的節(jié)點就在同一個集群內(nèi)
brokerClusterName=rocketmq-cluster
#broker名字,名字一樣的節(jié)點就是一組主從節(jié)點。
brokerName=broker-a
#brokerid,0就表示是Master,>0的都是表示 Slave
brokerId=1
#nameServer地址,分號分割
namesrvAddr=worker1:9876;worker2:9876;worker3:9876
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
autoCreateTopicEnable=true
deleteWhen=04
fileReservedTime=120
#存儲路徑
storePathRootDir=/app/rocketmq/storeSlave
storePathCommitLog=/app/rocketmq/storeSlave/commitlog
storePathConsumeQueue=/app/rocketmq/storeSlave/consumequeue
storePathIndex=/app/rocketmq/storeSlave/index
storeCheckpoint=/app/rocketmq/storeSlave/checkpoint
abortFile=/app/rocketmq/storeSlave/abort
#Broker 的角色
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=11011

2> 配置第二組borker-b服務(wù)
? 與第一組broker-a服務(wù)的配置方式類似,在worker3上配置broker-b的MASTER服務(wù)。需要修改conf/2m-2s-async/broker-b.properties文件

#所屬集群名字,名字一樣的節(jié)點就在同一個集群內(nèi)
brokerClusterName=rocketmq-cluster
#broker名字,名字一樣的節(jié)點就是一組主從節(jié)點。
brokerName=broker-b
#brokerid,0就表示是Master,>0的都是表示 Slave
brokerId=0
#nameServer地址,分號分割
namesrvAddr=worker1:9876;worker2:9876;worker3:9876
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
autoCreateTopicEnable=true
deleteWhen=04
fileReservedTime=120
#存儲路徑
storePathRootDir=/app/rocketmq/store
storePathCommitLog=/app/rocketmq/store/commitlog
storePathConsumeQueue=/app/rocketmq/store/consumequeue
storePathIndex=/app/rocketmq/store/index
storeCheckpoint=/app/rocketmq/store/checkpoint
abortFile=/app/rocketmq/store/abort
#Broker 的角色
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=10911

? 在worker2上配置broker-b的SLAVE服務(wù)。需要修改conf/2m-2s-async/broker-b-s.properties文件,配置示例如下:

#所屬集群名字,名字一樣的節(jié)點就在同一個集群內(nèi)
brokerClusterName=rocketmq-cluster
#broker名字,名字一樣的節(jié)點就是一組主從節(jié)點。
brokerName=broker-b
#brokerid,0就表示是Master,>0的都是表示 Slave
brokerId=1
#nameServer地址,分號分割
namesrvAddr=worker1:9876;worker2:9876;worker3:9876
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
autoCreateTopicEnable=true
deleteWhen=04
fileReservedTime=120
#存儲路徑
storePathRootDir=/app/rocketmq/storeSlave
storePathCommitLog=/app/rocketmq/storeSlave/commitlog
storePathConsumeQueue=/app/rocketmq/storeSlave/consumequeue
storePathIndex=/app/rocketmq/storeSlave/index
storeCheckpoint=/app/rocketmq/storeSlave/checkpoint
abortFile=/app/rocketmq/storeSlave/abort
#Broker 的角色
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=11011

第三步:啟動Broker服務(wù)
? 集群配置完成后,需要啟動Broker服務(wù)。與之前啟動broker服務(wù)稍有不同,啟動時需要增加-c參數(shù),指向我們修改的配置文件。

? 在node1上啟動broker-a的master服務(wù)和broker-b的slave服務(wù):

cd /app/rocketmq/rocketmq-all-4.9.5-bin-release
nohup bin/mqbroker -c ./conf/2m-2s-async/broker-a.properties &
nohup bin/mqbroker -c ./conf/2m-2s-async/broker-b-s.properties &

? 在node2上啟動broker-b的master服務(wù)和broker-a的slave服務(wù):

cd /app/rocketmq/rocketmq-all-4.9.5-bin-release
nohup bin/mqbroker -c ./conf/2m-2s-async/broker-b.properties &
nohup bin/mqbroker -c ./conf/2m-2s-async/broker-a-s.properties &

第四步:檢查集群服務(wù)狀態(tài)
RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)
在RocketMQ的這種主從架構(gòu)的集群下,客戶端發(fā)送的消息會分散保存到broker-a和broker-b兩個服務(wù)上,然后每個服務(wù)都配有slave服務(wù),可以備份對應(yīng)master服務(wù)上的消息,這樣就可以防止單點故障造成的消息丟失問題。

5、升級高可用集群

? 主從架構(gòu)的RocketMQ集群,由于給每個broker服務(wù)配置了一個或多個slave備份服務(wù),可以保證當(dāng)broker服務(wù)出現(xiàn)問題時,broker上的消息不會丟失。但是,這種主從架構(gòu)的集群卻也有一個不足的地方,那就是不具備服務(wù)高可用。

? 這里所說的服務(wù)高可用,并不是并不是指整個RocketMQ集群就不能對外提供服務(wù)了,而是指集群中的消息就不完整了。實際上,當(dāng)RocketMQ集群中的broker宕機后,整個集群會自動進行broker狀態(tài)感知。后續(xù)客戶端的各種請求,依然可以轉(zhuǎn)發(fā)到其他正常的broker上。只不過,原本保存在當(dāng)前broker上的消息,就無法正常讀取了,需要等到當(dāng)前broker服務(wù)重啟后,才能重新被消息消費者讀取。

? 當(dāng)一個broker上的服務(wù)宕機后,我們可以從對應(yīng)的slave服務(wù)上找到broker上所有的消息。但是很可惜,主從架構(gòu)中各個服務(wù)的角色都是固定了的,slave服務(wù)雖然擁有全部的數(shù)據(jù),但是它沒辦法升級成為master服務(wù)去響應(yīng)客戶端的請求,依然只是傻傻等待master服務(wù)重啟后,繼續(xù)做它的數(shù)據(jù)備份工作。

? 這時,我們自然就希望這個slave服務(wù)可以升級成為master服務(wù),繼續(xù)響應(yīng)客戶端的各種請求,這樣整個集群的消息服務(wù)就不會有任何中斷。而RocketMQ提供的Dledger集群,就是具備角色自動轉(zhuǎn)換功能的高可用集群。
RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)
在Dledger集群中,就不再單獨指定各個broker的服務(wù),而是由這些broker服務(wù)自行進行選舉,產(chǎn)生一個Leader角色的服務(wù),響應(yīng)客戶端的各種請求。而其他的broker服務(wù),就作為Follower角色,負責(zé)對Leader上的數(shù)據(jù)進行備份。當(dāng)然,F(xiàn)ollower所要負責(zé)的事情,比主從架構(gòu)中的SLAVE角色會要復(fù)雜一點,因為這種節(jié)點選舉是在后端不斷進行的,他們需要隨時做好升級成Leader的準備。

? Dledger集群的選舉是通過Raft協(xié)議進行的,Raft協(xié)議是一種多數(shù)同意機制。也就是每次選舉需要有集群中超過半數(shù)的節(jié)點確認,才能形成整個集群的共同決定。同時,這也意味著在Dledger集群中,只要有超過半數(shù)的節(jié)點能夠正常工作,那么整個集群就能正常工作。因此,在部署Dledger集群時,通常都是部署奇數(shù)臺服務(wù),這樣可以讓集群的容錯性達到最大。

? 接下來,我們就用之前準備的3臺服務(wù)器,搭建一個3個節(jié)點的Dledger集群。在這個集群中,只需要有2臺Broker服務(wù)正常運行,這個集群就能正常工作。

第一步:部署nameserver
這一步和之前部署主從集群沒有區(qū)別,不需要做過多的配置,直接在三臺服務(wù)器上啟動nameserver服務(wù)即可。

? 實際上,如果你是從上一個主從架構(gòu)開始搭建起來的話,那么nameserver集群都不需要重新啟動,nameserver會自動感知到broker的變化。

第二步:對Broker服務(wù)進行集群配置。
? 對于Dledger集群的配置,RocketMQ依然貼心的給出了完整的示例,不需要強行記憶。

? 在conf/dledger目錄下,RocketMQ默認給出了三個配置文件,這三個配置文件可以在單機情況下直接部署成一個具有三個broker服務(wù)的Dledger集群,我們只需要按照這個配置進行修改即可。
? 接下來我們可以在三臺機器的conf/dledger目錄下,都創(chuàng)建一個broker.conf文件,對每個broker服務(wù)進行配置。
master的配置

brokerClusterName = RaftCluster
brokerName=RaftNode00
listenPort=30911
namesrvAddr=master:9876;node1:9876;node2:9876
storePathRootDir=/app/rocketmq/storeDledger/
storePathCommitLog=/app/rocketmq/storeDledger/commitlog
storePathConsumeQueue=/app/rocketmq/storeDledger/consumequeue
storePathIndex=/app/rocketmq/storeDledger/index
storeCheckpoint=/app/rocketmq/storeDledger/checkpoint
abortFile=/app/rocketmq/storeDledger/abort
enableDLegerCommitLog=true
dLegerGroup=RaftNode00
dLegerPeers=n0-master:40911;n1-node1:40911;n2-node2:40911
## must be unique
dLegerSelfId=n0
sendMessageThreadPoolNums=16

node1的配置

brokerClusterName = RaftCluster
brokerName=RaftNode00
listenPort=30911
namesrvAddr=master:9876;node1:9876;node2:9876
storePathRootDir=/app/rocketmq/storeDledger/
storePathCommitLog=/app/rocketmq/storeDledger/commitlog
storePathConsumeQueue=/app/rocketmq/storeDledger/consumequeue
storePathIndex=/app/rocketmq/storeDledger/index
storeCheckpoint=/app/rocketmq/storeDledger/checkpoint
abortFile=/app/rocketmq/storeDledger/abort
enableDLegerCommitLog=true
dLegerGroup=RaftNode00
dLegerPeers=n0-master:40911;n1-node1:40911;n2-node2:40911
## must be unique
dLegerSelfId=n1
sendMessageThreadPoolNums=16

node2的配置

brokerClusterName = RaftCluster
brokerName=RaftNode00
listenPort=30911
namesrvAddr=master:9876;node1:9876;node2:9876
storePathRootDir=/app/rocketmq/storeDledger/
storePathCommitLog=/app/rocketmq/storeDledger/commitlog
storePathConsumeQueue=/app/rocketmq/storeDledger/consumequeue
storePathIndex=/app/rocketmq/storeDledger/index
storeCheckpoint=/app/rocketmq/storeDledger/checkpoint
abortFile=/app/rocketmq/storeDledger/abort
enableDLegerCommitLog=true
dLegerGroup=RaftNode00
dLegerPeers=n0-master:40911;n1-node1:40911;n2-node2:40911
## must be unique
dLegerSelfId=n2
sendMessageThreadPoolNums=16

第四步:檢查集群服務(wù)狀態(tài)
RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建,rocketmq,rocketmq,架構(gòu)文章來源地址http://www.zghlxwxcb.cn/news/detail-605617.html

到了這里,關(guān)于RocketMQ第一課-快速實戰(zhàn)以及集群架構(gòu)搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • RabbitMQ快速實戰(zhàn)與集群架構(gòu)詳解

    RabbitMQ快速實戰(zhàn)與集群架構(gòu)詳解

    本文是按照自己的理解進行筆記總結(jié),如有不正確的地方,還望大佬多多指點糾正,勿噴。 課程內(nèi)容: MQ: MessageQueue,消息隊列。隊列,是一種FIFO先進先出的數(shù)據(jù)結(jié)構(gòu)。消息由生產(chǎn)者發(fā)送到MQ進行排隊,然后按原來的順序交由消息的消費者進行處理。QQ和微信就是典型的MQ。

    2024年02月12日
    瀏覽(23)
  • 【深入淺出RocketMQ原理及實戰(zhàn)】「消息隊列架構(gòu)分析」幫你梳理RocketMQ或Kafka的選擇理由以及二者PK

    【深入淺出RocketMQ原理及實戰(zhàn)】「消息隊列架構(gòu)分析」幫你梳理RocketMQ或Kafka的選擇理由以及二者PK

    前提背景 大家都知道,市面上有許多開源的MQ,例如,RocketMQ、Kafka、RabbitMQ等等,現(xiàn)在Pulsar也開始發(fā)光,今天我們談?wù)劰P者最常用的RocketMQ和Kafka,想必大家早就知道二者之間的特點以及區(qū)別,但是在實際場景中,二者的選取有可能會范迷惑,那么今天筆者就帶領(lǐng)大家分析一下

    2024年02月19日
    瀏覽(26)
  • Numpy的學(xué)習(xí) 第一課 了解以及使用

    Numpy的學(xué)習(xí) 第一課 了解以及使用

    1.編輯模式 綠色 2.命令模式 藍色 查看函數(shù)幫助文檔命令 help(函數(shù)) 單問號與多問號 單問號顯示文檔 多問號顯示文檔+代碼 3.shift+tab 顯示參數(shù) 4.運行外部文件 %run +路徑,可絕對可相對 這里運行了就相當(dāng)于方法了,或者是類似于導(dǎo)入庫 5.統(tǒng)計時間 %time 無法精確統(tǒng)計 納秒為0 %time

    2024年01月20日
    瀏覽(17)
  • HarmonyOS第一課ArkTS開發(fā)語言(TypeScript快速入門)

    HarmonyOS第一課ArkTS開發(fā)語言(TypeScript快速入門)

    ArkTS是HarmonyOS優(yōu)選的主力應(yīng)用開發(fā)語言。它在TypeScript(簡稱TS)的基礎(chǔ)上,匹配ArkUI框架,擴展了聲明式UI、狀態(tài)管理等相應(yīng)的能力,讓開發(fā)者以更簡潔、更自然的方式開發(fā)跨端應(yīng)用。要了解什么是ArkTS,我們首先要了解下ArkTS、TypeScript和JavaScript之間的關(guān)系: JavaScript是一種屬

    2024年02月05日
    瀏覽(21)
  • 無人機自主飛行實戰(zhàn)入門-第一課(簡介)

    無人機自主飛行實戰(zhàn)入門-第一課(簡介)

    研究的意義:對人類操作的嚴重依賴,嚴重阻礙了泛無人機行業(yè)的發(fā)展。 飛行汽車(UAM)即將到來,不論是從成本還是安全考慮都需要自主飛行。 傳統(tǒng)飛控基于STM32架構(gòu)設(shè)計,無法滿足更智能功能所需的計算量,飛控是為了無人機位姿控制所設(shè)計,人類操控依然in?the?loop。

    2024年02月11日
    瀏覽(20)
  • 【ElasticSearch系列-06】Es集群架構(gòu)的搭建以及集群的核心概念

    【ElasticSearch系列-06】Es集群架構(gòu)的搭建以及集群的核心概念

    ElasticSearch系列整體欄目 內(nèi)容 鏈接地址 【一】ElasticSearch下載和安裝 https://zhenghuisheng.blog.csdn.net/article/details/129260827 【二】ElasticSearch概念和基本操作 https://blog.csdn.net/zhenghuishengq/article/details/134121631 【三】ElasticSearch的高級查詢Query DSL https://blog.csdn.net/zhenghuishengq/article/details/1

    2024年02月04日
    瀏覽(27)
  • golang—kafka架構(gòu)原理快速入門以及自測環(huán)境搭建(docker單節(jié)點部署)

    golang—kafka架構(gòu)原理快速入門以及自測環(huán)境搭建(docker單節(jié)點部署)

    Apache Kafka 是一個分布式的流處理平臺。它具有以下特點: 支持消息的發(fā)布和訂閱,類似于 RabbtMQ、ActiveMQ 等消息隊列 支持數(shù)據(jù)實時處理 能保證消息的可靠性投遞 支持消息的持久化存儲,并通過多副本分布式的存儲方案來保證消息的容錯 高吞吐率,單 Broker 可以輕松處理數(shù)千

    2024年02月04日
    瀏覽(27)
  • RocketMQ集群的特點以及各種集群模式的介紹

    RockerMQ集群架構(gòu): Producer(生產(chǎn)者)需要將消息數(shù)據(jù)存儲到MQ消息隊列中,Producer會向NameServer詢問我應(yīng)該將消息數(shù)據(jù)存儲在哪一個Broker中,NameServer會給Producer分配一個Broker,然后由Producer將消息數(shù)據(jù)存儲在指定的Broker中。 每一個Broker都會將自己的信息主動上報到NameServer,由N

    2024年02月11日
    瀏覽(33)
  • SpringBoot-1-Spring Boot實戰(zhàn):快速搭建你的第一個應(yīng)用,以及了解原理

    SpringBoot-1-Spring Boot實戰(zhàn):快速搭建你的第一個應(yīng)用,以及了解原理

    SpringBootWeb入門 我們在之前介紹Spring的時候,已經(jīng)說過Spring官方(Spring官方)提供很多開源項目,點擊projects,看到spring家族旗下的項目 Spring發(fā)展到今天已經(jīng)形成了一種開發(fā)生態(tài)圈,Spring提供了若干個子項目,每個項目用于完成特定的功能。而我們在項目開發(fā)時,一般會偏向于選

    2024年02月12日
    瀏覽(92)
  • 使用docker搭建RocketMQ(非集群搭建官方鏡像)

    使用docker搭建RocketMQ(非集群搭建官方鏡像)

    之前在使用 RocketMQ 官方的包在搭建的時候,發(fā)現(xiàn)好多問題,什么修改內(nèi)存大小,然后啟動 broker 報錯,類似 service not available now, maybe disk full 等等… 最后決定還是重新用 docker 搭建下,感覺這樣子玩壞了,可以直接把容器干掉,重新啟動一個新的容器,畢竟是在學(xué)習(xí)階段,這

    2024年02月13日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包