RocketMQ4.5.1兩主兩從集羣部署

10.40.58.5
10.40.58.6
下載安裝包
https://rocketmq.apache.org/release_notes/release-notes-4.5.1/java

unzip rocketmq-all-4.5.1-bin-release.zip –d /data/
rocketmq是java編寫,因此要配置jdk 和mvn 環境以後要用
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export M3_HOME=/usr/local/maven3
export PATH=$JAVA_HOME/bin:$M3_HOME/bin:$PATHgit

分別在5和6兩臺服務器上建立持久化存儲目錄(如下的5,6,表明上面的服務器)
Msater 目錄設置
mkdir /data/rocketmq-2m2s/store
mkdir /data/rocketmq-2m2s/store/commitlog
mkdir /data/rocketmq-2m2s/store/consumequeue
mkdir /data/rocketmq-2m2s/store/indexgithub

Slave目錄設置
mkdir /data/rocketmq-2m2s/store-s
mkdir /data/rocketmq-2m2s/store-s/commitlog
mkdir /data/rocketmq-2m2s/store-s/consumequeue
mkdir /data/rocketmq-2m2s/store-s/indexapache

RocketMQ配置文件
5服務器配置
vi /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-a.properties
vi /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-b-s.properties瀏覽器

6 服務器配置
vi /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-b.properties
vi /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-a-s.properties服務器

5 服務器 broker-a.properties配置文件
cat /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-a.properties
#所屬集羣名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不一樣的配置文件填寫的不同
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分號分割
namesrvAddr=10.40.58.5:9876;10.40.58.6:9876
#在發送消息時,自動建立服務器不存在的topic,默認建立的隊列數
defaultTopicQueueNums=4
#是否容許 Broker 自動建立Topic,建議線下開啓,線上關閉
autoCreateTopicEnable=false
#是否容許 Broker 自動建立訂閱組,建議線下開啓,線上關閉
autoCreateSubscriptionGroup=false
#Broker 對外服務的監聽端口
listenPort=10911
haListenPort=10912
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=18
#commitLog每一個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每一個文件默認存30W條,根據業務狀況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/data/rocketmq-2m2s/store
#commitLog 存儲路徑
storePathCommitLog=/data/rocketmq-2m2s/store/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/data/rocketmq-2m2s/store/consumequeue
#消息索引存儲路徑
storePathIndex=/data/rocketmq-2m2s/store/index
#checkpoint 文件存儲路徑
storeCheckpoint=/data/rocketmq-2m2s/store/checkpoint
#abort 文件存儲路徑
abortFile=/data/rocketmq-2m2s/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步複製Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發消息線程池數量
sendMessageThreadPoolNums=128
#拉消息線程池數量
pullMessageThreadPoolNums=128
#打開鎖
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=3000
#強制指定本機IP,須要根據每臺機器進行修改。官方介紹可爲空,系統默認自動識別,但多網卡時IP地址可能讀取錯誤
brokerIP1=10.40.58.5app

6服務器 broker-a-s.properties配置文件
cat /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-a-s.properties
#所屬集羣名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不一樣的配置文件填寫的不同
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分號分割
namesrvAddr=10.40.58.5:9876;10.40.58.6:9876
#在發送消息時,自動建立服務器不存在的topic,默認建立的隊列數
defaultTopicQueueNums=4
#是否容許 Broker 自動建立Topic,建議線下開啓,線上關閉
autoCreateTopicEnable=false
#是否容許 Broker 自動建立訂閱組,建議線下開啓,線上關閉
autoCreateSubscriptionGroup=false
#Broker 對外服務的監聽端口
listenPort=10923
haListenPort=10924
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=18
#commitLog每一個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每一個文件默認存30W條,根據業務狀況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/data/rocketmq-2m2s/store-s
#commitLog 存儲路徑
storePathCommitLog=/data/rocketmq-2m2s/store-s/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/data/rocketmq-2m2s/store-s/consumequeue
#消息索引存儲路徑
storePathIndex=/data/rocketmq-2m2s/store-s/index
#checkpoint 文件存儲路徑
storeCheckpoint=/data/rocketmq-2m2s/store-s/checkpoint
#abort 文件存儲路徑
abortFile=/data/rocketmq-2m2s/store-s/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushConsumeQueueLeastPages=2#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步複製Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發消息線程池數量
sendMessageThreadPoolNums=128
#拉消息線程池數量
pullMessageThreadPoolNums=128
#打開鎖
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=3000
#強制指定本機IP,須要根據每臺機器進行修改。官方介紹可爲空,系統默認自動識別,但多網卡時IP地址可能讀取錯誤
brokerIP1=10.40.58.6異步

6服務器 broker-b.properties配置文件
cat /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-b.properties
#所屬集羣名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不一樣的配置文件填寫的不同
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分號分割
namesrvAddr=10.40.58.6:9876;10.40.58.5:9876
#在發送消息時,自動建立服務器不存在的topic,默認建立的隊列數
defaultTopicQueueNums=4
#是否容許 Broker 自動建立Topic,建議線下開啓,線上關閉
autoCreateTopicEnable=false
#是否容許 Broker 自動建立訂閱組,建議線下開啓,線上關閉
autoCreateSubscriptionGroup=false
#Broker 對外服務的監聽端口
listenPort=10911
haListenPort=10912
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=18
#commitLog每一個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每一個文件默認存30W條,根據業務狀況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/data/rocketmq-2m2s/store
#commitLog 存儲路徑
storePathCommitLog=/data/rocketmq-2m2s/store/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/data/rocketmq-2m2s/store/consumequeue
#消息索引存儲路徑
storePathIndex=/data/rocketmq-2m2s/store/index
#checkpoint 文件存儲路徑
storeCheckpoint=/data/rocketmq-2m2s/store/checkpoint
#abort 文件存儲路徑
abortFile=/data/rocketmq-2m2s/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步複製Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發消息線程池數量
sendMessageThreadPoolNums=128
#拉消息線程池數量
pullMessageThreadPoolNums=128
#打開鎖
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=3000
#強制指定本機IP,須要根據每臺機器進行修改。官方介紹可爲空,系統默認自動識別,但多網卡時IP地址可能讀取錯誤
brokerIP1=10.40.58.6jvm

5服務器 broker-b-s.properties配置文件
cat /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-b-s.properties
#所屬集羣名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此處不一樣的配置文件填寫的不同
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分號分割
namesrvAddr=10.40.58.6:9876;10.40.58.5:9876
#在發送消息時,自動建立服務器不存在的topic,默認建立的隊列數
defaultTopicQueueNums=4
#是否容許 Broker 自動建立Topic,建議線下開啓,線上關閉
autoCreateTopicEnable=false
#是否容許 Broker 自動建立訂閱組,建議線下開啓,線上關閉
autoCreateSubscriptionGroup=false
#Broker 對外服務的監聽端口
listenPort=10923
haListenPort=10924
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=18
#commitLog每一個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每一個文件默認存30W條,根據業務狀況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/data/rocketmq-2m2s/store-s
#commitLog 存儲路徑
storePathCommitLog=/data/rocketmq-2m2s/store-s/commitlog
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/data/rocketmq-2m2s/store-s/consumequeue
#消息索引存儲路徑
storePathIndex=/data/rocketmq-2m2s/store-s/index
#checkpoint 文件存儲路徑
storeCheckpoint=/data/rocketmq-2m2s/store-s/checkpoint
#abort 文件存儲路徑
abortFile=/data/rocketmq-2m2s/store-s/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步複製Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發消息線程池數量
sendMessageThreadPoolNums=128
#拉消息線程池數量
pullMessageThreadPoolNums=128
#打開鎖
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=3000
#強制指定本機IP,須要根據每臺機器進行修改。官方介紹可爲空,系統默認自動識別,但多網卡時IP地址可能讀取錯誤
brokerIP1=10.40.58.5async

注意: 上面配置文件中 【#是否容許 Broker 自動建立Topic,建議線下開啓,線上關閉autoCreateTopicEnable=false
#是否容許 Broker 自動建立訂閱組,建議線下開啓,線上關閉autoCreateSubscriptionGroup=false】 將topic和訂閱組所有關閉自動建立了。 因此在使用Java-API調用以前,必定要手動建立Topic和消費者訂閱組,否則消費者端沒法獲取到消息。

修改日誌配置文件
cd /data/rocketmq-all-4.5.1-bin-release/conf
vi logback_namesrv.xml
vi logback_namesrv.xml
mkdir /data/logs

RocketMQ4.5.1兩主兩從集羣部署

修改rocketmq啓動腳本
適當修改jvm內存大小
vi /data/rocketmq-all-4.5.1-bin-release/bin/runbroker.sh
vi /data/rocketmq-all-4.5.1-bin-release/bin/runserver.sh
vi /data/rocketmq-all-4.5.1-bin-release/bin/tools.sh

RocketMQ4.5.1兩主兩從集羣部署

啓動參數設置
RocketMQ啓動文件位於/data/rocketmq-all-4.5.1-bin-release/bin/目錄下,Linux中nameserver啓動文件爲:mqnamesrv,broker啓動文件爲:mqbroker,mqnamesrv和mqbroker啓動文件分別調用了runserver.sh和runbroker.sh.
文件,這兩個文件分別設置了nameserver和broker的啓動內存,目前內存啓動參數分別爲nameserver啓動內存4G,最大內存4G,新生代2G,broker啓動內存8G,最大內存8G,新生代4G。(根據本身的須要修改)

啓動Nameserver
分別啓動五、6的Nameserver
cd /data/rocketmq-all-4.5.1-bin-release/bin/
nohup sh mqnamesrv &

啓動Broker: cd /data/rocketmq-all-4.5.1-bin-release/bin/
5上Master啓動:
nohup sh mqbroker -c /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-a.properties &
6上Master啓動:
nohup sh mqbroker -c /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-b.properties &
5上Slave啓動:
nohup sh mqbroker -c /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-b-s.properties &
6上Slave啓動:
nohup sh mqbroker -c /data/rocketmq-all-4.5.1-bin-release/conf/2m-2s-async/broker-a-s.properties &

RocketMQ4.5.1兩主兩從集羣部署

至此,Nameserver、Broker啓動完成,能夠用jobs命令查看當前運行進程,以下是服務端相關shutdown,即在bin目錄下:
sh mqshutdown namesrv
sh mqshutdown broke

RocketMQ監控平臺部署

下載:
Git地址:https://github.com/apache/rocketmq-externals/tree/release-rocketmq-console-1.0.0
或者https://pan.baidu.com/s/1Y4fzVc2r30jtIVpvYZocWA 密碼: vj2y
unzip rocketmq-externals-release-rocketmq-console-1.0.0.zip
cd rocketmq-externals-release-rocketmq-console-1.0.0/rocketmq-console/src/main/resources/
vi application.properties
RocketMQ4.5.1兩主兩從集羣部署

編譯源代碼(須要maven環境)
cd /root/rocketmq-externals-release-rocketmq-console-1.0.0/rocketmq-console/
mvn clean package -Dmaven.test.skip=true (若是有卡住的本身能夠下載相應的jar放到這個目錄裏面就行了再繼續編譯)

啓動服務
cd /root/rocketmq-externals-release-rocketmq-console-1.0.0/rocketmq-console/target
java -jar rocketmq-console-ng-1.0.0.jar &

訪問管理界面
瀏覽器輸入: 10.40.58.5:8080/回車顯示監控界面
RocketMQ4.5.1兩主兩從集羣部署

相關文章
相關標籤/搜索