一、安裝
1、下載
下載地址:http://rocketmq.apache.org/release_notes/
執行命令:wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.6.0/rocketmq-all-4.6.0-bin-release.zip
unzip rocketmq-all-4.6.0-bin-release.zip
下載完解壓可用
帶source字樣的需要自己下載maven編譯。
二、配置
1、配置文件解析
# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #brokerClusterName=DefaultCluster #brokerName=broker-a #brokerId=0 #deleteWhen=04 #fileReservedTime=48 #brokerRole=ASYNC_MASTER #flushDiskType=ASYNC_FLUSH #所屬集群名字 brokerClusterName=rocketmq-cluster #broker名字,注意此處不同的配置文件填寫的不一樣 brokerName=broker-a #0 表示 Master,>0 表示 Slave brokerId=0 #nameServer地址,分號分割 namesrvAddr=nameserver1:9876;nameserver2:9876 #在發送消息時,自動創建服務器不存在的topic,默認創建的隊列數 defaultTopicQueueNums=4 #是否允許 Broker 自動創建Topic,建議線下開啟,線上關閉 autoCreateTopicEnable=true #是否允許 Broker 自動創建訂閱組,建議線下開啟,線上關閉 autoCreateSubscriptionGroup=true #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=/home/rocketMQ/ZHF/rocketMQ-2m2s/store #commitLog 存儲路徑 storePathCommitLog=/home/rocketMQ/ZHF/rocketMQ-2m2s/store/commitlog #消費隊列存儲路徑存儲路徑 storePathConsumeQueue=/home/rocketMQ/ZHF/rocketMQ-2m2s/store/consumequeue #消息索引存儲路徑 storePathIndex=/home/rocketMQ/ZHF/rocketMQ-2m2s/store/index #checkpoint 文件存儲路徑 storeCheckpoint=/home/rocketMQ/ZHF/rocketMQ-2m2s/store/checkpoint #abort 文件存儲路徑 abortFile=/home/rocketMQ/ZHF/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 #強制指定本機IP,需要根據每台機器進行修改。官方介紹可為空,系統默認自動識別,但多網卡時IP地址可能讀取錯誤 brokerIP1=192.168.162.235
三、部署
1、計划
服務器三台(每台服務器啟動兩個broker實例):
192.168.244.128 nameServer1 broker1-master broker3-slave 192.168.244.130 nameServer2 broker2-master broker1-slave 192.168.244.131 nameServer3 broker3-master broker2-slave2、創建目錄如下
/zjl/program/rocketmq/store/store-m /zjl/program/rocketmq/store/store-m/commitlog /zjl/program/rocketmq/store/store-m/consumerqueue /zjl/program/rocketmq/store/store-m/index/zjl/program/rocketmq/store/store-s /zjl/program/rocketmq/store/store-s/commitlog /zjl/program/rocketmq/store/store-s/consumerqueue /zjl/program/rocketmq/store/store-s/index3、Broker配置文件
1)192.168.244.128 broker1-master.conf
View CodebrokerClusterName = DefaultCluster brokerName = broker1 brokerId = 0 namesrvAddr = 192.168.244.128:9876;192.168.244.130:9876;192.168.244.131:9876 defaultTopicQueueNums = 4 autoCreateTopicEnable = false autoCreateSubscriptionGroup = false listenPort = 10911 haListenPort = 10912 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH diskMaxUsedSpaceRatio = 88 storePathRootDir = /zjl/program/rocketmq/store/store-m storePathCommitLog = /zjl/program/rocketmq/store/store-m/commitlog storePathConsumeQueue = /zjl/program/rocketmq/store/store-m/consumerqueue storePathIndex = /zjl/program/rocketmq/store/store-m/index storeCheckpoint = /zjl/program/rocketmq/store/store-m/checkpoint abortFile = /zjl/program/rocketmq/store/store-m/abort maxMessageSize = 65536 brokerIP1 = 192.168.244.1282)192.168.244.128 broker3-slave.conf
View CodebrokerClusterName = DefaultCluster brokerName = broker3 brokerId = 1 namesrvAddr = 192.168.244.128:9876;192.168.244.130:9876;192.168.244.131:9876 defaultTopicQueueNums = 4 autoCreateTopicEnable = false autoCreateSubscriptionGroup = false listenPort = 10931 haListenPort = 10932 deleteWhen = 04 fileReservedTime = 48 brokerRole = SLAVE flushDiskType = ASYNC_FLUSH diskMaxUsedSpaceRatio = 88 storePathRootDir = /zjl/program/rocketmq/store/store-s storePathCommitLog = /zjl/program/rocketmq/store/store-s/commitlog storePathConsumeQueue = /zjl/program/rocketmq/store/store-s/consumerqueue storePathIndex = /zjl/program/rocketmq/store/store-s/index storeCheckpoint = /zjl/program/rocketmq/store/store-s/checkpoint abortFile = /zjl/program/rocketmq/store/store-s/abort maxMessageSize = 65536 brokerIP1 = 192.168.244.1283)192.168.244.130 broker2-master.conf
View CodebrokerClusterName = DefaultCluster brokerName = broker2 brokerId = 0 namesrvAddr = 192.168.244.128:9876;192.168.244.130:9876;192.168.244.131:9876 defaultTopicQueueNums = 4 autoCreateTopicEnable = false autoCreateSubscriptionGroup = false listenPort = 10921 haListenPort = 10922 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH diskMaxUsedSpaceRatio = 88 storePathRootDir = /zjl/program/rocketmq/store/store-m storePathCommitLog = /zjl/program/rocketmq/store/store-m/commitlog storePathConsumeQueue = /zjl/program/rocketmq/store/store-m/consumerqueue storePathIndex = /zjl/program/rocketmq/store/store-m/index storeCheckpoint = /zjl/program/rocketmq/store/store-m/checkpoint abortFile = /zjl/program/rocketmq/store/store-m/abort maxMessageSize = 65536 brokerIP1 = 192.168.244.1304)192.168.244.130 broker1-slave.conf
View CodebrokerClusterName = DefaultCluster brokerName = broker1 brokerId = 1 namesrvAddr = 192.168.244.128:9876;192.168.244.130:9876;192.168.244.131:9876 defaultTopicQueueNums = 4 autoCreateTopicEnable = false autoCreateSubscriptionGroup = false listenPort = 10911 haListenPort = 10912 deleteWhen = 04 fileReservedTime = 48 brokerRole = SLAVE flushDiskType = ASYNC_FLUSH diskMaxUsedSpaceRatio = 88 storePathRootDir = /zjl/program/rocketmq/store/store-s storePathCommitLog = /zjl/program/rocketmq/store/store-s/commitlog storePathConsumeQueue = /zjl/program/rocketmq/store/store-s/consumerqueue storePathIndex = /zjl/program/rocketmq/store/store-s/index storeCheckpoint = /zjl/program/rocketmq/store/store-s/checkpoint abortFile = /zjl/program/rocketmq/store/store-s/abort maxMessageSize = 65536 brokerIP1 = 192.168.244.1305)192.168.244.131 broker3-master.conf
View CodebrokerClusterName = DefaultCluster brokerName = broker3 brokerId = 0 namesrvAddr = 192.168.244.128:9876;192.168.244.130:9876;192.168.244.131:9876 defaultTopicQueueNums = 4 autoCreateTopicEnable = false autoCreateSubscriptionGroup = false listenPort = 10931 haListenPort = 10932 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH diskMaxUsedSpaceRatio = 88 storePathRootDir = /zjl/program/rocketmq/store/store-m storePathCommitLog = /zjl/program/rocketmq/store/store-m/commitlog storePathConsumeQueue = /zjl/program/rocketmq/store/store-m/consumerqueue storePathIndex = /zjl/program/rocketmq/store/store-m/index storeCheckpoint = /zjl/program/rocketmq/store/store-m/checkpoint abortFile = /zjl/program/rocketmq/store/store-m/abort maxMessageSize = 65536 brokerIP1 = 192.168.244.1316)192.168.244.131 broker2-slave.conf
View CodebrokerClusterName = DefaultCluster brokerName = broker2 brokerId = 1 namesrvAddr = 192.168.244.128:9876;192.168.244.130:9876;192.168.244.131:9876 defaultTopicQueueNums = 4 autoCreateTopicEnable = false autoCreateSubscriptionGroup = false listenPort = 10921 haListenPort = 10922 deleteWhen = 04 fileReservedTime = 48 brokerRole = SLAVE flushDiskType = ASYNC_FLUSH diskMaxUsedSpaceRatio = 88 storePathRootDir = /zjl/program/rocketmq/store/store-s storePathCommitLog = /zjl/program/rocketmq/store/store-s/commitlog storePathConsumeQueue = /zjl/program/rocketmq/store/store-s/consumerqueue storePathIndex = /zjl/program/rocketmq/store/store-s/index storeCheckpoint = /zjl/program/rocketmq/store/store-s/checkpoint abortFile = /zjl/program/rocketmq/store/store-s/abort maxMessageSize = 65536 brokerIP1 = 192.168.244.1314、啟動
按照官網啟動rocketMQ會造成 java 運行內存的不足.需要修改找到runserver.sh和runbroker.sh
編輯 JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
1)啟動nameServer
命令:
cd /zjl/program/rocketmq/bin
nohup sh mqnamesrv &
較驗啟動是否成功
ps -ef|grep name
2)啟動broker
cd /zjl/program/rocketmq/bin
nohup sh mqbroker -c /zjl/program/rocketmq/conf/broker.conf &
較驗啟動是否成功
ps -ef|grep broker
3)關閉命令
sh mqshutdown namesrv
sh mqshutdown broker
四、RocketMQ監控平台部署
1、下載
https://github.com/apache/rocketmq-externals
2、解壓,修改配置
首先解壓並進入解壓后rockemq-externals-master目錄rocketmq-externals-master/rocketmq-externals-master/rocketmq-console/src/main/resources,修改目錄下application.properties配置文件內容如下圖:
rocketmq.config.namesrvAddr=192.168.244.128:9876;192.168.244.130:9876;192.168.244.131:9876
rocketmq.config.isVIPChannel=false
rocketmq.config.dataPath=/zjl/program/rocketmq/store
3、編譯啟動
我在WINDOWS 下編譯啟動的
命令:mvn clean package “-Dmaven.test.skip=true”
成功后會在rocketmq-externals-master/rocketmq-console/target目錄下產生一個rocketmq-console-ng-1.0.0.jar文件。
啟動:java -jar target/rocketmq-console-ng-1.0.0.jar
訪問 http://localhost:8080 看到如下頁面表示mq集群和 控制台均部署成功
轉載:https://blog.csdn.net/tubunanhai/article/details/81738416