您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“RocketMQ多Master模式的優(yōu)缺點(diǎn)介紹”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
多Master模式,一個(gè)集群無Slave,全是Master,例如2個(gè)Master或者3個(gè)Master。
優(yōu)點(diǎn):配置簡單,單個(gè)Master宕機(jī)或重啟維護(hù)對應(yīng)用無影響,在磁盤配置為RAID10時(shí),即使機(jī)器宕機(jī)不可恢復(fù)情況下,由于RAID10磁盤非常可靠,消息也不會丟(異步刷盤丟失少量消息,同步刷盤一條不丟)。性能最高。
缺點(diǎn):單臺機(jī)器宕機(jī)期間,這臺機(jī)器上未被消費(fèi)的消息在機(jī)器恢復(fù)之前不可訂閱,消息實(shí)時(shí)性會收到影響
服務(wù)器A 192.168.192.130 服務(wù)器B 192.168.192.131
vim /etc/hosts192.168.192.130 rocketmq-nameserver1 192.168.192.130 rocketmq-master1 192.168.192.131 rocketmq-nameserver2 192.168.192.131 rocketmq-master2
重啟網(wǎng)卡$ service network restart#130上ping 131ping rocketmq-nameserver2 ping rocketmq-master2#131上ping 130ping rocketmq-nameserver1 ping rocketmq-master2
tar -vxzf alibaba-rocketmq-3.2.6.tar.gz mv alibaba-rocketmq-3.2.6 rocketmq
mkdir /usr/local/rocketmq/store mkdir /usr/local/rocketmq/store/commitlog mkdir /usr/local/rocketmq/store/consumequeue mkdir /usr/local/rocketmq/store/index
6.1 修改broker-a.properties文件
vim /usr/local/rocketmq/conf/2m-noslave/broker-a.properties#所屬集群名字 borkerClusterName=rocketmq-cluster #broker名字,注意此處不同的配置文件填寫的不一樣 brokerName=broker-a #0 表示Master, >0 表示Slave brokerId=0 #nameServer地址,分號分割 namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876 #在發(fā)消息時(shí),自動(dòng)創(chuàng)建服務(wù)器不存在的topic,默認(rèn)創(chuàng)建的隊(duì)列數(shù) defaultTopicQueueNums=4 #是否允許Broker自動(dòng)創(chuàng)建Topic,建議線下開啟,線上關(guān)閉 autoCreateTopicEnable=true #是否允許Broker自動(dòng)創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉 autoCreateSubscriptionGroup=true #Broker 對外服務(wù)的監(jiān)聽端口 listenPort=10911 #刪除文件時(shí)間點(diǎn),默認(rèn)凌晨4點(diǎn) deleteWhen=04 #文件保留時(shí)間,默認(rèn)48小時(shí) fileReservedTime=120 #commitLog每個(gè)文件的大小默認(rèn)1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每個(gè)文件默認(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 #消費(fèi)隊(duì)列存儲路徑 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=ASYNC_MASTER #刷盤方式 #- ASYNC_FLUSH 異步刷盤 #- SYNC_FLUSH 同步刷盤 flushDiskType=ASYNC_FLUSH #checkTransactionMessageEnable=false #發(fā)消息線程池?cái)?shù)量 #sendMessageThreadPoolNums=128 #拉消息線程池?cái)?shù)量 #pullMessageThreadPoolNums=128
6.2 修改broker-b.properties文件
vim /usr/local/rocketmq/conf/2m-noslave/broker-b.properties#所屬集群名字 borkerClusterName=rocketmq-cluster #broker名字,注意此處不同的配置文件填寫的不一樣 brokerName=broker-b #0 表示Master, >0 表示Slave brokerId=0 #nameServer地址,分號分割 namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876 #在發(fā)消息時(shí),自動(dòng)創(chuàng)建服務(wù)器不存在的topic,默認(rèn)創(chuàng)建的隊(duì)列數(shù) defaultTopicQueueNums=4 #是否允許Broker自動(dòng)創(chuàng)建Topic,建議線下開啟,線上關(guān)閉 autoCreateTopicEnable=true #是否允許Broker自動(dòng)創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉 autoCreateSubscriptionGroup=true #Broker 對外服務(wù)的監(jiān)聽端口 listenPort=10911 #刪除文件時(shí)間點(diǎn),默認(rèn)凌晨4點(diǎn) deleteWhen=04 #文件保留時(shí)間,默認(rèn)48小時(shí) fileReservedTime=120 #commitLog每個(gè)文件的大小默認(rèn)1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每個(gè)文件默認(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 #消費(fèi)隊(duì)列存儲路徑 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=ASYNC_MASTER #刷盤方式 #- ASYNC_FLUSH 異步刷盤 #- SYNC_FLUSH 同步刷盤 flushDiskType=ASYNC_FLUSH #checkTransactionMessageEnable=false #發(fā)消息線程池?cái)?shù)量 #sendMessageThreadPoolNums=128 #拉消息線程池?cái)?shù)量 #pullMessageThreadPoolNums=128
mkdir -p /usr/local/rocketmq/logs cd /usr/local/rocketmq/conf && sed -i 's#${user.home}#/usr/local/rocketmq#g' *.xml
#broker調(diào)優(yōu) vim /usr/local/rocketmq/bin/runbroker.sh
#nameserver調(diào)優(yōu)vim /usr/local/rocketmq/bin/runserver.sh
cd /usr/local/rocketmq/bin nohup sh mqnamesrv & jps--看進(jìn)程
cd /usr/local/rocketmq/bin nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 & netstat -ntlp jps tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/broker.log tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/namesrv.log
cd /usr/local/rocketmq/bin nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-b.properties >/dev/null 2>&1 & netstat -ntlp jps tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/broker.log tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/namesrv.log
cd /usr/local/rocketmq/bin sh mqshutdown broker
sh bin/mqshutdown namesrv
14.rocketMq默認(rèn)日志路徑
/root/logs/rocketmqlogs
15.關(guān)閉防火墻
systemctl stop firewalld
“RocketMQ多Master模式的優(yōu)缺點(diǎn)介紹”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(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)容。