10.40.58.5
10.40.58.6
下載安裝包
https://rocketmq.apache.org/release_notes/release-notes-4.5.1/
創(chuàng)新互聯(lián)堅信:善待客戶,將會成為終身客戶。我們能堅持多年,是因為我們一直可值得信賴。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。10多年網(wǎng)站建設(shè)經(jīng)驗創(chuàng)新互聯(lián)是成都老牌網(wǎng)站營銷服務(wù)商,為您提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、成都h5網(wǎng)站建設(shè)、網(wǎng)站制作、成都品牌網(wǎng)站建設(shè)、微信小程序開發(fā)服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。
unzip rocketmq-all-4.5.1-bin-release.zip –d /data/
rocketmq是java編寫,所以要配置jdk 和mvn 環(huán)境之后要用
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:$PATH
分別在5和6兩臺服務(wù)器上創(chuàng)建持久化存儲目錄(以下的5,6,代表上面的服務(wù)器)
Msater 目錄設(shè)置
mkdir /data/rocketmq-2m2s/store
mkdir /data/rocketmq-2m2s/store/commitlog
mkdir /data/rocketmq-2m2s/store/consumequeue
mkdir /data/rocketmq-2m2s/store/index
Slave目錄設(shè)置
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/index
RocketMQ配置文件
5服務(wù)器配置
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 服務(wù)器配置
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 服務(wù)器 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
#在發(fā)送消息時,自動創(chuàng)建服務(wù)器不存在的topic,默認創(chuàng)建的隊列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
autoCreateTopicEnable=false
#是否允許 Broker 自動創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=false
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=10911
haListenPort=10912
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=18
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
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 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池數(shù)量
sendMessageThreadPoolNums=128
#拉消息線程池數(shù)量
pullMessageThreadPoolNums=128
#打開鎖
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=3000
#強制指定本機IP,需要根據(jù)每臺機器進行修改。官方介紹可為空,系統(tǒng)默認自動識別,但多網(wǎng)卡時IP地址可能讀取錯誤
brokerIP1=10.40.58.5
6服務(wù)器 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
#在發(fā)送消息時,自動創(chuàng)建服務(wù)器不存在的topic,默認創(chuàng)建的隊列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
autoCreateTopicEnable=false
#是否允許 Broker 自動創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=false
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=10923
haListenPort=10924
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=18
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
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 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池數(shù)量
sendMessageThreadPoolNums=128
#拉消息線程池數(shù)量
pullMessageThreadPoolNums=128
#打開鎖
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=3000
#強制指定本機IP,需要根據(jù)每臺機器進行修改。官方介紹可為空,系統(tǒng)默認自動識別,但多網(wǎng)卡時IP地址可能讀取錯誤
brokerIP1=10.40.58.6
6服務(wù)器 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
#在發(fā)送消息時,自動創(chuàng)建服務(wù)器不存在的topic,默認創(chuàng)建的隊列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
autoCreateTopicEnable=false
#是否允許 Broker 自動創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=false
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=10911
haListenPort=10912
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=18
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
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 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池數(shù)量
sendMessageThreadPoolNums=128
#拉消息線程池數(shù)量
pullMessageThreadPoolNums=128
#打開鎖
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=3000
#強制指定本機IP,需要根據(jù)每臺機器進行修改。官方介紹可為空,系統(tǒng)默認自動識別,但多網(wǎng)卡時IP地址可能讀取錯誤
brokerIP1=10.40.58.6
5服務(wù)器 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
#在發(fā)送消息時,自動創(chuàng)建服務(wù)器不存在的topic,默認創(chuàng)建的隊列數(shù)
defaultTopicQueueNums=4
#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉
autoCreateTopicEnable=false
#是否允許 Broker 自動創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉
autoCreateSubscriptionGroup=false
#Broker 對外服務(wù)的監(jiān)聽端口
listenPort=10923
haListenPort=10924
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
fileReservedTime=18
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據(jù)業(yè)務(wù)情況調(diào)整
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 異步復(fù)制Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
#刷盤方式
#- ASYNC_FLUSH 異步刷盤
#- SYNC_FLUSH 同步刷盤
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#發(fā)消息線程池數(shù)量
sendMessageThreadPoolNums=128
#拉消息線程池數(shù)量
pullMessageThreadPoolNums=128
#打開鎖
useReentrantLockWhenPutMessage=true
waitTimeMillsInSendQueue=3000
#強制指定本機IP,需要根據(jù)每臺機器進行修改。官方介紹可為空,系統(tǒng)默認自動識別,但多網(wǎng)卡時IP地址可能讀取錯誤
brokerIP1=10.40.58.5
注意: 上面配置文件中 【#是否允許 Broker 自動創(chuàng)建Topic,建議線下開啟,線上關(guān)閉autoCreateTopicEnable=false
#是否允許 Broker 自動創(chuàng)建訂閱組,建議線下開啟,線上關(guān)閉autoCreateSubscriptionGroup=false】 將topic和訂閱組全部關(guān)閉自動創(chuàng)建了。 所以在使用Java-API調(diào)用之前,一定要手動創(chuàng)建Topic和消費者訂閱組,不然消費者端無法獲取到消息。
修改日志配置文件
cd /data/rocketmq-all-4.5.1-bin-release/conf
vi logback_namesrv.xml
vi logback_namesrv.xml
mkdir /data/logs
修改rocketmq啟動腳本
適當(dāng)修改jvm內(nèi)存大小
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
啟動參數(shù)設(shè)置
RocketMQ啟動文件位于/data/rocketmq-all-4.5.1-bin-release/bin/目錄下,Linux中nameserver啟動文件為:mqnamesrv,broker啟動文件為:mqbroker,mqnamesrv和mqbroker啟動文件分別調(diào)用了runserver.sh和runbroker.sh.
文件,這兩個文件分別設(shè)置了nameserver和broker的啟動內(nèi)存,目前內(nèi)存啟動參數(shù)分別為nameserver啟動內(nèi)存4G,最大內(nèi)存4G,新生代2G,broker啟動內(nèi)存8G,最大內(nèi)存8G,新生代4G。(根據(jù)自己的需要修改)
啟動Nameserver
分別啟動5、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 &
至此,Nameserver、Broker啟動完成,可以用jobs命令查看當(dāng)前運行進程,如下是服務(wù)端相關(guān)shutdown,即在bin目錄下:
sh mqshutdown namesrv
sh mqshutdown broke
RocketMQ監(jiān)控平臺部署
下載:
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
編譯源代碼(需要maven環(huán)境)
cd /root/rocketmq-externals-release-rocketmq-console-1.0.0/rocketmq-console/
mvn clean package -Dmaven.test.skip=true (如果有卡住的自己可以下載相應(yīng)的jar放到這個目錄里面就好了再繼續(xù)編譯)
啟動服務(wù)
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/回車顯示監(jiān)控界面