RocketMQ-環境部署-2主2從部署-同步雙寫-非同步刷盤-詳細步驟圖解
RocketMQ學習目錄
RocketMQ-環境部署-2主2從部署-同步雙寫-非同步刷盤-詳細步驟圖解
1.環境準備(如圖)
- 1.CentOS7x64(至少2C2G) ; 64位JDK 1.8+ ; Maven 3.2.x ; Git ; rocketmq-4.7.1.tar.gz
點選跳轉-VMware15安裝Centos7
點選跳轉-CentOS7-安裝JDK
點選跳轉-CentOS7-安裝Git
點選跳轉-CentOS7-安裝Maven
點選獲取rocketmq-4.7.1.tar.gz
- 2.伺服器一共四臺
192.168.244.138 ;192.168.244.139 ;192.168.244.141 ;192.168.244.142
- 3.如圖調整 xshell,配置同時控制四臺伺服器
- 4.配置hosts
2.修改資料儲存目錄(如圖)
#1.上傳rocketmq-4.7.1.tar.gz 並解壓到 /opt/ 下
$ cd /opt/ && tar -zxvf rocketmq-4.7.1.tar.gz && mv rocketmq-4.7.1 rocketmq && rm -rf /opt/rocketmq-4.7.1.tar.gz
#2.建立資料儲存目錄
$ cd /opt/rocketmq && mkdir logs store store/commitlog store/consumequeue store/index
#3.替換日誌儲存位置
$ cd /opt/rocketmq/conf && sed -i 's#${user.home}#/opt/rocketmq#g' *.xml
- 圖解
3.修改啟動引數(如圖)
#修改 runbroker 和 runserver 的 JVM啟動引數(因為虛擬機器記憶體不足)
#找到 JAVA_OPT="${JAVA_OPT} -server 把後面三個引數改成 1 1 1
$ vi /opt/rocketmq/bin/runbroker.sh
$ vi /opt/rocketmq/bin/runserver.sh
/opt/rocketmq/bin/runbroker.sh
/opt/rocketmq/bin/runserver.sh
4.修改配置檔案(如圖)
4.1.統一配置
#這一步,四臺伺服器一起操作
#先刪除檔案內的全部內容,然後複製下面的內容到裡面,在下一步的 4.2 中再逐個修改
$ cd /opt/rocketmq/conf/2m-2s-async
$ vi broker-a.properties
$ vi broker-b.properties
$ vi broker-a-s.properties
$ vi broker-b-s.properties
#所屬叢集
brokerClusterName=rocketmq-cluster-2m-2s
#nameServer地址,分號分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmqnameserver3:9876;rocketmq-nameserver4:9876
#Broker名,不同Master名字不同,Slave與Master通過brokerName來配對
brokerName=broker-a
#當前節點IP
brokerIP1=broker-a
#ID,0表示Master,大於0表示Slave
brokerId=0
#Broker角色(SLAVE 從節點)(ASYNC_MASTER 非同步複製Master)(SYNC_MASTER 同步雙寫Master)
brokerRole=SYNC_MASTER
#刷盤方式,ASYNC_FLUSH 非同步刷盤,SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#儲存路徑
storePathRootDir=/opt/rocketmq/store
#commitLog 儲存路徑
storePathCommitLog=/opt/rocketmq/store/commitlog
#消費佇列儲存路徑儲存路徑
storePathConsumeQueue=/opt/rocketmq/store/consumequeue
#訊息索引儲存路徑
storePathIndex=/opt/rocketmq/store/index
#checkpoint 檔案儲存路徑
storeCheckpoint=/opt/rocketmq/store/checkpoint
#abort 檔案儲存路徑
abortFile=/opt/rocketmq/store/abort
#Broker對外服務的監聽埠
listenPort=10911
#在傳送訊息時,自動建立伺服器不存在的 topic,預設建立的佇列數
defaultTopicQueueNums=4
#是否允許Broker自動建立Topic,建議線下開啟,線上關閉
autoCreateTopicEnable=true
#是否允許Broker自動建立訂閱組,建議線下開啟,線上關閉
autoCreateSubscriptionGroup=true
#刪除檔案時間點,預設凌晨 4 點
deleteWhen=04
#檔案保留時間,單位小時,預設48
fileReservedTime=120
#commitLog 每個檔案的大小預設1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個檔案預設存30W條,根據業務情況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理檔案磁碟空間
diskMaxUsedSpaceRatio=88
#限制的訊息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#checkTransactionMessageEnable=false
#發訊息執行緒池數量
#sendMessageThreadPoolNums=128
#拉訊息執行緒池數量
#pullMessageThreadPoolNums=128
4.2.四臺一起修改
$ vi broker-a.properties
brokerName=broker-a
brokerIP1=broker-a
brokerId=0
brokerRole=SYNC_MASTER
#修改 broker-b.properties
$ vi broker-b.properties
brokerName=broker-b
brokerIP1=broker-b
brokerId=0
brokerRole=SYNC_MASTER
#修改 broker-a-s.properties
$ vi broker-a-s.properties
brokerName=broker-a
brokerIP1=broker-a-s
brokerId=1
brokerRole=SLAVE
#修改 broker-b-s.properties
$ vi broker-b-s.properties
brokerName=broker-b
brokerIP1=broker-b-s
brokerId=1
brokerRole=SLAVE
5.啟動服務(如圖)
- 啟動四臺 NameServer
$ nohup sh /opt/rocketmq/bin/mqnamesrv &
$ tail -f -n 500 /opt/rocketmq/logs/rocketmqlogs/namesrv.log
$ jps #出現NamesrvStartup,既是啟動成功
- 在 broker-a伺服器上,啟動 broker-a.properties
$ nohup sh /opt/rocketmq/bin/mqbroker -c /opt/rocketmq/conf/2m-2s-async/broker-a.properties &
$ tail -f -n 500 /opt/rocketmq/logs/rocketmqlogs/broker.log
$ jps #出現BrokerStartup,既是啟動成功
- 在 broker-b伺服器上,啟動 broker-b.properties
$ nohup sh /opt/rocketmq/bin/mqbroker -c /opt/rocketmq/conf/2m-2s-async/broker-b.properties &
$ tail -f -n 500 /opt/rocketmq/logs/rocketmqlogs/broker.log
$ jps #出現BrokerStartup,既是啟動成功
- 在 broker-a-s伺服器上,啟動 broker-a-s.properties
$ nohup sh /opt/rocketmq/bin/mqbroker -c /opt/rocketmq/conf/2m-2s-async/broker-a-s.properties &
$ tail -f -n 500 /opt/rocketmq/logs/rocketmqlogs/broker.log
$ jps #出現BrokerStartup,既是啟動成功
- 在 broker-b-s伺服器上,啟動 broker-b-s.properties
$ nohup sh /opt/rocketmq/bin/mqbroker -c /opt/rocketmq/conf/2m-2s-async/broker-b-s.properties &
$ tail -f -n 500 /opt/rocketmq/logs/rocketmqlogs/broker.log
$ jps #出現BrokerStartup,既是啟動成功
6.停止服務(如圖)
- 先停止Borke,jps確定Borke停止後,再停止NameServer
$ sh /opt/rocketmq/bin/mqshutdown broker
$ jps
$ sh /opt/rocketmq/bin/mqshutdown namesrv
7.清理資料(如圖)
- 確定服務已經全部停止,然後刪除資料目錄
$ jps
$ cd /opt/rocketmq && rm -rf store logs && mkdir logs store store/commitlog store/consumequeue store/index
撒 花 ❀❀❀❀❀❀❀❀❀❀❀❀
相關文章
- mysql 主從複製搭建詳細步驟MySql
- mysql主從同步(2)-問題梳理MySql主從同步
- mysql主從不同步的2種解決方法MySql
- rocketMq之雙主雙從同步模式搭建MQ模式
- u盤裝系統詳細步驟(圖文搭配)
- MySQL主從雙向同步複製MySql
- Oracle11gR2下搭建DataGuard主備同步詳解Oracle
- u盤重灌系統win7步驟和詳細教程圖解Win7圖解
- Git學習2 --- Git安裝詳細步驟Git
- 用 docker 學習 redis 主從複製2 主從同步的offsetDockerRedis主從同步
- MySQL 5.5 主從複製非同步、半同步以及注意事項詳解MySql非同步
- MySQL主從複製環境部署MySql
- mysql主從複製詳細部署MySql
- RocketMQ主從同步MQ主從同步
- Redis主從同步Redis主從同步
- mysql主從同步MySql主從同步
- MySQL的主從複製、半同步複製、主主複製詳解MySql
- rsync+inotify實時同步環境部署記錄
- Oracle怎麼從歸檔模式變成非歸檔模式,詳細步驟Oracle模式
- Oracle怎麼從非歸檔模式變成歸檔模式,詳細步驟Oracle模式
- doris編譯和安裝部署詳細步驟編譯
- ghost win10安裝教程詳細步驟圖解Win10圖解
- A*演算法(超級詳細講解,附有舉例的詳細手寫步驟)演算法
- u盤安裝win10系統教程 u盤一鍵重灌系統詳細步驟圖解Win10圖解
- 詳細講解DB2資料庫效能監控的具體步驟DB2資料庫
- MySQL主從同步配置MySql主從同步
- Mongo主從同步原理Go主從同步
- nodejs專案部署到騰訊雲詳細步驟NodeJS
- CentOS 7 中英文桌面安裝步驟詳細圖解CentOS圖解
- 非同步2非同步
- SVN trunk(主線) branch(分支) tag(標記) 用法詳解和詳細操作步驟
- 用u盤怎麼重灌系統 u盤重灌win7win10系統詳細步驟圖解Win7Win10圖解
- SeaTunnel DB2 Source Connector 使用文件(含詳細操作步驟)DB2
- MySQL主從同步校驗與重新同步薦MySql主從同步
- pg 用ogg 同步大概步驟
- Mysql主從同步(1) - 概念和原理介紹 以及 主從/主主模式 部署記錄MySql主從同步模式
- 抖音去水印詳細原理步驟及介面編寫
- MySQL 資料主從同步MySql主從同步