RocketMQ介紹忍抽、安裝以及環(huán)境搭建

1 MQ介紹

MQ是 先進先出 的數(shù)據(jù)結(jié)構(gòu)。

消息隊列

優(yōu)點

  • 應(yīng)用解耦
  • 流量削峰
  • 數(shù)據(jù)分發(fā)

缺點

  • 系統(tǒng)可用性降低董朝,一旦MQ宕機鸠项,就會對業(yè)務(wù)造成影響。
  • 系統(tǒng)復(fù)雜度提高子姜,以前系統(tǒng)間是同步的遠(yuǎn)程調(diào)用祟绊,現(xiàn)在是通過MQ進行異步調(diào)用。
  • 一致性問題哥捕,A系統(tǒng)處理完業(yè)務(wù)牧抽,通過MQ給B、C遥赚、D三個系統(tǒng)發(fā)消息數(shù)據(jù)阎姥,如果B系統(tǒng)、C系統(tǒng)處理成功鸽捻,D系統(tǒng)處理失敗,如何保證消息數(shù)據(jù)處理的一致性

2 安裝RoctetMQ

  1. 由于RoctetMq使用java寫的泽腮,所以需要jdk環(huán)境御蒲,這里不在贅述。
  2. 下載RoctetMq安裝包诊赊,并解壓
wget http://ftp.cuhk.edu.hk/pub/packages/apache.org/rocketmq/4.7.0/rocketmq-all-4.7.0-bin-release.zip ./
unzip rocketmq-all-4.7.0-bin-release.zip 
mv rocketmq-all-4.7.0-bin-release/ /usr/local/rocketmq/  #為了方便厚满,將其放入/user/local目錄下
  1. 啟動RocketMQ

3.1 啟動NameServer

# 1.啟動NameServer
nohup sh bin/mqnamesrv &
# 2.查看啟動日志
tail -f ~/logs/rocketmqlogs/namesrv.log

3.2 啟動Broker

# 1.啟動Broker
nohup sh bin/mqbroker -n localhost:9876 &
# 2.查看啟動日志
tail -f ~/logs/rocketmqlogs/broker.log 

ps:這里發(fā)現(xiàn)啟動Broker失敗,由于我是在虛擬機中測試碧磅,只給虛擬機分配了1G內(nèi)存碘箍,而RocketMQ默認(rèn)的內(nèi)存為8G,內(nèi)存不足鲸郊,所以修改配置文件丰榴,調(diào)整JVM大小。

# 編輯runbroker.sh和runserver.sh修改默認(rèn)JVM大小
vi runbroker.sh
vi runserver.sh

根據(jù)虛擬機內(nèi)存大小參考設(shè)置:

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m  -XX:MaxMetaspaceSize=320m"

重新啟動NameServer秆撮,Broker

啟動圖

3.3 測試RocketMQ

  1. 設(shè)置環(huán)境變量
# 1.設(shè)置環(huán)境變量
export NAMESRV_ADDR=localhost:9876
  1. 發(fā)送消息
# 2.使用安裝包的Demo發(fā)送消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
  1. 接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

3.4 關(guān)閉RocketMQ

# 1.關(guān)閉NameServer
sh bin/mqshutdown namesrv
# 2.關(guān)閉Broker
sh bin/mqshutdown broker

3 RocketMQ集群搭建

3.1 各角色介紹

  • Producer:消息的發(fā)送者四濒;舉例:發(fā)信者
  • Consumer:消息接收者;舉例:收信者
  • Broker:暫存和傳輸消息职辨;舉例:郵局
  • NameServer:管理Broker盗蟆;舉例:各個郵局的管理機構(gòu)
  • Topic:區(qū)分消息的種類;一個發(fā)送者可以發(fā)送消息給一個或者多個Topic舒裤;一個消息的接收者可以訂閱一個或者多個Topic消息
  • Message Queue:相當(dāng)于是Topic的分區(qū)喳资;用于并行發(fā)送和接收消息
RoctetMQ角色

3.2 集群搭建方式

3.2.1 集群特點

  • NameServer是一個幾乎無狀態(tài)節(jié)點,可集群部署腾供,節(jié)點之間無任何信息同步仆邓,直接啟動多個即可鲜滩。
  • (重點)Broker部署相對復(fù)雜,Broker分為Master與Slave宏赘,一個Master可以對應(yīng)多個Slave绒北,但是一個Slave只能對應(yīng)一個Master,Master與Slave的對應(yīng)關(guān)系通過指定相同的BrokerName察署,不同的 BrokerId 來定義闷游,BrokerId為 0 表示Master,非0 表示Slave贴汪。Master也可以部署多個脐往。每個Broker與NameServer集群中的所有節(jié)點建立長連接,定時注冊Topic信息到所有NameServer扳埂。
  • Producer與 NameServer 集群中的其中一個節(jié)點 (隨機選擇业簿,因為每個節(jié)點都一樣) 建立長連接,定期從NameServer取Topic路由信息阳懂,并向提供Topic服務(wù)的 Master 建立長連接梅尤,且定時向 Master 發(fā)送心跳。Producer完全無狀態(tài)岩调,可集群部署巷燥。
  • Consumer與 NameServer 集群中的其中一個節(jié)點 (隨機選擇,因為每個節(jié)點都一樣) 建立長連接号枕,定期從NameServer取Topic路由信息缰揪,并向提供Topic服務(wù)的 Master、Slave 建立長連接葱淳,且定時向 Master钝腺、Slave 發(fā)送心跳。Consumer既可以從 Master 訂閱消息赞厕,也可以從Slave訂閱消息艳狐,訂閱規(guī)則由Broker配置決定。
  • RocketMQ中Topic只代表普通的消息隊列皿桑,而Queue是組成Topic的更小單元僵驰。

3.2.3 集群模式

1)單Master模式

這種方式風(fēng)險較大,一旦Broker重啟或者宕機時唁毒,會導(dǎo)致整個服務(wù)不可用蒜茴。不建議線上環(huán)境使用,可以用于本地測試浆西。

2)多Master模式

一個集群無Slave粉私,全是Master,例如2個Master或者3個Master近零。

  • 優(yōu)點:配置簡單诺核,單個Master宕機或重啟維護對應(yīng)用無影響抄肖,在磁盤配置為RAID10時,即使機器宕機不可恢復(fù)情況下窖杀,由于RAID10磁盤非忱炷Γ可靠,消息也不會丟(異步刷盤丟失少量消息入客,同步刷盤一條不丟)管毙,性能最高;
  • 缺點:單臺機器宕機期間桌硫,這臺機器上未被消費的消息在機器恢復(fù)之前不可訂閱夭咬,消息實時性會受到影響。
3)多Master多Slave模式(異步)

每個Master配置一個Slave铆隘,有多對Master-Slave卓舵,HA采用異步復(fù)制方式,主備有短暫消息延遲(毫秒級)膀钠。

  • 優(yōu)點:即使磁盤損壞掏湾,消息丟失的非常少,且消息實時性不會受影響肿嘲,同時Master宕機后忘巧,消費者仍然可以從Slave消費,而且此過程對應(yīng)用透明睦刃,不需要人工干預(yù),性能同多Master模式幾乎一樣十酣;
  • 缺點:Master宕機涩拙,磁盤損壞情況下會丟失少量消息。
4)多Master多Slave模式(同步)

每個Master配置一個Slave耸采,有多對Master-Slave兴泥,HA采用同步雙寫方式,即只有主備都寫成功虾宇,才向應(yīng)用返回成功搓彻。

  • 優(yōu)點:數(shù)據(jù)與服務(wù)都無單點故障,Master宕機情況下嘱朽,消息無延遲旭贬,服務(wù)可用性與數(shù)據(jù)可用性都非常高;
  • 缺點:性能比異步復(fù)制模式略低(大約低10%左右)搪泳,發(fā)送單個消息的RT會略高稀轨,且目前版本在主節(jié)點宕機后,備機不能自動切換為主機岸军。

3.3 雙主雙從集群搭建測試

3.3.1 集群工作流程

  1. 啟動NameServer奋刽,NameServer起來后監(jiān)聽端口瓦侮,等待Broker、Producer佣谐、Consumer連上來肚吏,相當(dāng)于一個路由控制中心。
  2. Broker啟動狭魂,跟所有的NameServer保持長連接罚攀,定時發(fā)送心跳包。心跳包中包含當(dāng)前Broker信息(IP+端口等)以及存儲所有Topic信息趁蕊。注冊成功后坞生,NameServer集群中就有Topic跟Broker的映射關(guān)系。
  3. 收發(fā)消息前掷伙,先創(chuàng)建Topic是己,創(chuàng)建Topic時需要指定該Topic要存儲在哪些Broker上,也可以在發(fā)送消息時自動創(chuàng)建Topic任柜。
  4. Producer發(fā)送消息卒废,啟動時先跟NameServer集群中的其中一臺建立長連接,并從NameServer中獲取當(dāng)前發(fā)送的Topic存在哪些Broker上宙地,輪詢從隊列列表中選擇一個隊列摔认,然后與隊列所在的Broker建立長連接從而向Broker發(fā)消息。
  5. Consumer跟Producer類似宅粥,跟其中一臺NameServer建立長連接参袱,獲取當(dāng)前訂閱Topic存在哪些Broker上,然后直接跟Broker建立連接通道秽梅,開始消費消息抹蚀。
RocketMQ集群

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

序號 IP 角色 架構(gòu)模式
1 192.168.85.128 nameserver、brokerserver Master1企垦、Slave2
2 192.168.85.129 nameserver环壤、brokerserver Master2、Slave1

3.3.3 Host添加信息

vim /etc/hosts

#配置如下:
# nameserver
192.168.85.128 rocketmq-nameserver1
192.168.85.129 rocketmq-nameserver2
# broker
192.168.85.128 rocketmq-master1
192.168.85.128 rocketmq-slave2
192.168.85.129 rocketmq-master2
192.168.85.129 rocketmq-slave1

#重啟網(wǎng)卡
systemctl restart network

3.3.4 環(huán)境變量配置

vim /etc/profile

#在profile文件的末尾加入如下命令:
#set rocketmq
ROCKETMQ_HOME=/usr/local/rocketmq
PATH=$PATH:$ROCKETMQ_HOME/bin
export ROCKETMQ_HOME PATH

保存退出后輸入以下命令钞诡,使得配置立刻生效
source /etc/profile

3.3.5 創(chuàng)建消息存儲路徑

mkdir /usr/local/rocketmq/store
mkdir /usr/local/rocketmq/store/commitlog
mkdir /usr/local/rocketmq/store/consumequeue
mkdir /usr/local/rocketmq/store/index
#master與slave共用同一個會導(dǎo)致報錯java.lang.RuntimeException: Lock failed,MQ already started
mkdir /usr/local/rocketmq/store1
mkdir /usr/local/rocketmq/store1/commitlog
mkdir /usr/local/rocketmq/store1/consumequeue
mkdir /usr/local/rocketmq/store1/index

3.3.6 broker配置文件

  1. master1
    服務(wù)器:192.168.85.128
vim /usr/local/rocketmq/conf/2m-2s-sync/broker-a.properties

修改配置如下:

#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字郑现,注意此處不同的配置文件填寫的不一樣
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址荧降,分號分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
#在發(fā)送消息時接箫,自動創(chuàng)建服務(wù)器不存在的topic,默認(rèn)創(chuàng)建的隊列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動創(chuàng)建Topic朵诫,建議線下開啟列牺,線上關(guān)閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創(chuàng)建訂閱組,建議線下開啟拗窃,線上關(guān)閉
autoCreateSubscriptionGroup=true
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=10911
#刪除文件時間點瞎领,默認(rèn)凌晨 4點
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/rocketmq/store
#commitLog 存儲路徑
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存儲路徑
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint 文件存儲路徑
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存儲路徑
abortFile=/usr/local/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池數(shù)量
#sendMessageThreadPoolNums=128
#拉消息線程池數(shù)量
#pullMessageThreadPoolNums=128
  1. slave2
    服務(wù)器:192.168.85.128
vim /usr/local/rocketmq/conf/2m-2s-sync/broker-b-s.properties

修改配置如下:

#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字九默,注意此處不同的配置文件填寫的不一樣
brokerName=broker-b
#0 表示 Master震放,>0 表示 Slave
brokerId=1
#nameServer地址,分號分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
#在發(fā)送消息時驼修,自動創(chuàng)建服務(wù)器不存在的topic殿遂,默認(rèn)創(chuàng)建的隊列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟乙各,線上關(guān)閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創(chuàng)建訂閱組墨礁,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=true
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=11011
#刪除文件時間點耳峦,默認(rèn)凌晨 4點
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/rocketmq/store1
#commitLog 存儲路徑
storePathCommitLog=/usr/local/rocketmq/store1/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/usr/local/rocketmq/store1/consumequeue
#消息索引存儲路徑
storePathIndex=/usr/local/rocketmq/store1/index
#checkpoint 文件存儲路徑
storeCheckpoint=/usr/local/rocketmq/store1/checkpoint
#abort 文件存儲路徑
abortFile=/usr/local/rocketmq/store1/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池數(shù)量
#sendMessageThreadPoolNums=128
#拉消息線程池數(shù)量
#pullMessageThreadPoolNums=128
  1. master2
    服務(wù)器:192.168.85.129
vim /usr/local/rocketmq/conf/2m-2s-sync/broker-b.properties

修改配置如下:

#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字蹲坷,注意此處不同的配置文件填寫的不一樣
brokerName=broker-b
#0 表示 Master驶乾,>0 表示 Slave
brokerId=0
#nameServer地址,分號分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
#在發(fā)送消息時循签,自動創(chuàng)建服務(wù)器不存在的topic级乐,默認(rèn)創(chuàng)建的隊列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟县匠,線上關(guān)閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創(chuàng)建訂閱組风科,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=true
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=10911
#刪除文件時間點乞旦,默認(rèn)凌晨 4點
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/rocketmq/store
#commitLog 存儲路徑
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存儲路徑
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint 文件存儲路徑
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存儲路徑
abortFile=/usr/local/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池數(shù)量
#sendMessageThreadPoolNums=128
#拉消息線程池數(shù)量
#pullMessageThreadPoolNums=128
  1. slave1
    服務(wù)器:192.168.85.129
vim /usr/local/rocketmq/conf/2m-2s-sync/broker-a-s.properties

修改配置如下:

#所屬集群名字
brokerClusterName=rocketmq-cluster
#broker名字杆查,注意此處不同的配置文件填寫的不一樣
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址臀蛛,分號分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
#在發(fā)送消息時亲桦,自動創(chuàng)建服務(wù)器不存在的topic,默認(rèn)創(chuàng)建的隊列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動創(chuàng)建Topic浊仆,建議線下開啟客峭,線上關(guān)閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創(chuàng)建訂閱組,建議線下開啟抡柿,線上關(guān)閉
autoCreateSubscriptionGroup=true
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=11011
#刪除文件時間點舔琅,默認(rèn)凌晨 4點
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/rocketmq/store1
#commitLog 存儲路徑
storePathCommitLog=/usr/local/rocketmq/store1/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/usr/local/rocketmq/store1/consumequeue
#消息索引存儲路徑
storePathIndex=/usr/local/rocketmq/store1/index
#checkpoint 文件存儲路徑
storeCheckpoint=/usr/local/rocketmq/store1/checkpoint
#abort 文件存儲路徑
abortFile=/usr/local/rocketmq/store1/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池數(shù)量
#sendMessageThreadPoolNums=128
#拉消息線程池數(shù)量
#pullMessageThreadPoolNums=128

3.3.7 服務(wù)啟動

  1. 啟動NameServe集群
#分別在192.168.85.128和192.168.85.129啟動NameServer
cd /usr/local/rocketmq/bin
nohup sh mqnamesrv &
  1. 啟動Broker集群
    在192.168.85.128上啟動master1和slave2
cd /usr/local/rocketmq/bin

#master1
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a.properties &

#slave2:
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b-s.properties &

在192.168.85.129上啟動master2和slave1

cd /usr/local/rocketmq/bin
#master2
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b.properties &

#slave1
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a-s.properties &

分別查看兩臺機子NameServe集群和Broker集群的啟動情況


master機子啟動情況
slave1機子啟動情況

3.3.8 整合成一個啟動文件

為了方便啟動备蚓,可以將啟動命令整合到一個sh文件中课蔬,方便啟動
192.168.85.128:

vim startMQ.sh

指令如下:

cd /usr/local/rocketmq/bin
nohup sh mqnamesrv &
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a.properties &
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b-s.properties &

賦予執(zhí)行權(quán)限

chmod +x startMQ.sh

192.168.85.129:

vim startMQ.sh

指令如下:

cd /usr/local/rocketmq/bin
nohup sh mqnamesrv &
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-b.properties &
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-2s-sync/broker-a-s.properties &

賦予執(zhí)行權(quán)限

chmod +x startMQ.sh

3.4 集群監(jiān)控平臺搭建

3.4.1 概述

RocketMQ有一個對其擴展的開源項目incubator-rocketmq-externals,這個項目中有一個子模塊叫rocketmq-console郊尝,這個便是管理控制臺項目了二跋,先將incubator-rocketmq-externals拉到本地,因為我們需要自己對rocketmq-console進行編譯打包運行流昏。

3.4.2 配置namesrv集群地址

打開rocketmq-console\src\main\resources\application.properties

rocketmq.config.namesrvAddr=192.168.85.128:9876;192.168.85.129:9876

3.4.3 打成jar包

mvn clean package -Dmaven.test.skip=true

3.4.4 啟動rocketmq-console

java -jar rocketmq-console-ng-1.0.1.jar 

啟動成功后扎即,我們就可以通過瀏覽器訪問http://192.168.85.128:8080進入控制臺界面了,如下圖:

管理界面圖

排坑

啟動完畢后查看集群發(fā)現(xiàn)master機器上的地址有問題况凉,默認(rèn)使用了docker0網(wǎng)卡谚鄙。

地址有問題
默認(rèn)采用了docker0的地址

解決:
干掉docker0

yum -y install bridge-utils
ifconfig docker0 down
brctl delbr docker0

重啟rocketmq,問題解決

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刁绒,一起剝皮案震驚了整個濱河市闷营,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌膛锭,老刑警劉巖粮坞,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異初狰,居然都是意外死亡莫杈,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門奢入,熙熙樓的掌柜王于貴愁眉苦臉地迎上來筝闹,“玉大人,你說我怎么就攤上這事腥光」厍辏” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵武福,是天一觀的道長议双。 經(jīng)常有香客問我,道長捉片,這世上最難降的妖魔是什么平痰? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮伍纫,結(jié)果婚禮上宗雇,老公的妹妹穿的比我還像新娘。我一直安慰自己莹规,他們只是感情好赔蒲,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般舞虱。 火紅的嫁衣襯著肌膚如雪欢际。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天砾嫉,我揣著相機與錄音幼苛,去河邊找鬼。 笑死焕刮,一個胖子當(dāng)著我的面吹牛舶沿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播配并,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼括荡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了溉旋?” 一聲冷哼從身側(cè)響起畸冲,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎观腊,沒想到半個月后邑闲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡梧油,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年苫耸,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片儡陨。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡褪子,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出骗村,到底是詐尸還是另有隱情嫌褪,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布胚股,位于F島的核電站笼痛,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏琅拌。R本人自食惡果不足惜缨伊,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望财忽。 院中可真熱鬧倘核,春花似錦泣侮、人聲如沸即彪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽隶校。三九已至漏益,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間深胳,已是汗流浹背绰疤。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留舞终,地道東北人轻庆。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像敛劝,于是被迫代替她去往敵國和親余爆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容