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主從複製詳細部署MySql
- Linux環境下MySQL安裝部署操作步驟LinuxMySql
- doris編譯和安裝部署詳細步驟編譯
- TorchServe 詳解:5 步將模型部署到生產環境模型
- 五步搞定Android開發環境部署——非常詳細的Android開發環境搭建教程Android開發環境
- Centos下部署NTP時間伺服器同步環境CentOS伺服器
- NLA安裝部署詳細講解(一)——NLA自然語言分析的環境部署
- nodejs專案部署到騰訊雲詳細步驟NodeJS
- 《Angular2 從開發到部署系列》之「環境搭建」Angular
- rocketMq之雙主雙從同步模式搭建MQ模式
- Cocos2d-x環境配置步驟
- DKhadoop環境安裝配置步驟詳解Hadoop
- u盤裝系統詳細步驟(圖文搭配)
- 10天搞定Python,執行環境(超詳細步驟)Python
- Git學習2 --- Git安裝詳細步驟Git
- u盤重灌系統win7步驟和詳細教程圖解Win7圖解
- 用 docker 學習 redis 主從複製2 主從同步的offsetDockerRedis主從同步
- FLINK CDC部署同步
- Jenkins安裝部署使用圖文詳解(非常詳細)Jenkins
- 部署otter實現mysql主備資料同步(下)MySql
- 部署otter實現mysql主備資料同步(上)MySql
- VSCode + WSL 2 + Ruby環境搭建詳解VSCode
- mysql主從同步MySql主從同步
- Redis主從同步Redis主從同步
- RocketMQ主從同步MQ主從同步
- CentOS 6.5下ZooKeeper3.4.6叢集環境部署及單機部署詳解CentOS
- 一個Tomcat 如何部署多個專案?附多種解決方案及詳細步驟!Tomcat
- 2條流程解決資料同步到全球部署的N個資料庫資料庫
- Docker從瞭解到部署應用的詳細教程Docker
- MongoDB副本集(一主兩從)讀寫分離、故障轉移功能環境部署記錄MongoDB
- ghost win10安裝教程詳細步驟圖解Win10圖解
- MySQL讀寫分離及主從同步延時問題解決思路深入剖析-綜合元件環境實戰MySql主從同步元件
- Docker Machine遠端部署docker主機環境DockerMac
- SeaTunnel DB2 Source Connector 使用文件(含詳細操作步驟)DB2
- 部署Java環境Java
- DockerCompose部署環境Docker
- Kibana環境部署