以前都是聽說MQ,或者在別人搭建好的基礎上去使用,沒有自己動手搭建過,就沒有更深入去理解。現在機會來啦.啦啦.啦啦啦......
引用自己的CSDN文章
href="https://blog.csdn.net/chenzhong2010/article/details/106699590
或點擊左下角“閱讀原文”來支持我...φ(0 ̄*)啦啦啦_φ(* ̄0 ̄)>
一、安裝配置
1.1、下載
下載地址是http://rocketmq.apache.org/release_notes/release-notes-4.2.0/
打開后顯示如圖:
點擊上圖zip進行下載。1.2、安裝下載完成后解壓該zip文件,并移動到對應的目錄下,如:
1.3、配置環境變量
右鍵“我的電腦”->“屬性”->“高級屬性”->“環境變量”,新增環境變量
ROCKETMQ_HOME
D:\04_work_installed\01_java_tools\34_Rocketmq_4_2_0\rocketmq-all-4.2.0-bin-release
二、啟動NAMESERVER
打開cmd命令窗口,輸入命令:
start mqnamesrv.cmd
如上圖所述,說明環境變量是正確的,并且NAMESERVER啟動成功,此框請不要關閉。
三、啟動BROKER
另外打開一個cmd命令窗口,輸入命令:
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
后續查詢broker名稱是tiannanIT,名稱就是本地電腦名稱:
或者
啟動帶有配置文件的,啟動broker時需要加載配置文件,執行命令:
start?mqbroker.cmd?-n?127.0.0.1:9876?autoCreateTopicEnable=true?-c?D:\04_work_installed\01_java_tools\34_Rocketmq_4_2_0\rocketmq-all-4.2.0-bin-release\conf\broker.conf
后續查詢broker名稱是broker-a,名稱就是broker.conf里面配置的:
配置文件broker.conf默認內容如:
brokerClusterName = DefaultClusterbrokerName = broker-abrokerId = 0deleteWhen = 04fileReservedTime = 48brokerRole = ASYNC_MASTERflushDiskType?=?ASYNC_FLUSH
cmd運行brocker后:
奇怪,只是彈出了個框,卻沒有成功提示,不過這樣已經是啟動broker成功了,此框勿關閉。
【備注】如果光標沒有閃爍,而是回到命令行,那意思就是brocker啟動失敗,需要把c:/user/你的用戶名/store文件夾里面的所有文件全部刪除,再啟動,成功。
四、查看連接到nameserver上的broker
mqadmin clusterList -n localhost:9876
五、下載RocketMQ插件(管理控制臺)
通過git命令下載以下鏈接對應的源碼
git clone https://gitee.com/mirrors/RocketMQ-Externals.git
進入D:\04_work_installed\01_java_tools\34_Rocketmq_4_2_0\rocketmq-externals_git_resource\rocketmq-externals**rocketmq-console**目錄,清除并打包(如果有自己的maven私服,最好啟動):
mvn clean package -Dmaven.test.skip=true
進入到編譯包下cd D:\04_work_installed\01_java_tools\34_Rocketmq_4_2_0\rocketmq-externals_git_resource\rocketmq-externals\rocketmq-console\target\
執行啟動該jar:
java -jar rocketmq-console-ng-1.0.1.jar
應用訪問:http://127.0.0.1:9980
六、創建主題topic
mqadmin updateTopic -n localhost:9876 -b localhost:10911 -t tx-mq-TOPIC
mqadmin updateTopic -c DefaultCluster -n localhost:9876 -t threezto-test -r 12 -w 12
顯示剛剛已經創建的兩個topic:
然后可以查看一些自定義主題、系統主題等等:
七、控制臺創建主題
通過菜單:主題->新增/更新,就彈出框來填寫對應的信息,并提交。
八、啟動消費者
打開cmd命令窗口,執行以下命令:
set NAMESRV_ADDR=127.0.0.1:9876 tools.cmd org.apache.rocketmq.example.quickstart.Consumer
以上,消費者啟動成功。
九、啟動生產者
打開cmd命令窗口,執行以下命令:
set NAMESRV_ADDR=127.0.0.1:9876tools.cmd?org.apache.rocketmq.example.quickstart.Producer
使用topic是TopicTest。
這時候消費者窗口正在消費消息:
十、查看控制臺
查看消費者:
查看集群:
查看主題TopicTest的各項信息:
狀態:
路由:
CONSUMER管理:
TOPIC配置:
查看消息:
可以查到,
Topic:TopicTest
Tag:TagA
consumerGroup:please_rename_unique_group_name_4
十一、其他命令
1)刪除主題
mqadmin?deleteTopic?-n?localhost:9876?-c?DefaultCluster?-t?zto-example
十二、數據文件配置
12.1 查看數據存儲
rocketmq的數據默認都是存放到該目錄下
查詢屬性,發現文件實在太大了,想遷移該文件到其他地方,為c盤騰空間
打開broker.conf配置文件,增加以下配置(注意:需要使用 \\,\是無效的):
#存儲路徑storePathRootDir=D:\\04_work_installed\\01_java_tools\\34_Rocketmq_4_2_0\\rocketmq-all-4.2.0-bin-release\\store#commitLog 存儲路徑storePathCommitLog=D:\\04_work_installed\\01_java_tools\\34_Rocketmq_4_2_0\\rocketmq-all-4.2.0-bin-release\\store\\commitlog#消費隊列存儲路徑存儲路徑storePathConsumeQueue=D:\\04_work_installed\\01_java_tools\\34_Rocketmq_4_2_0\\rocketmq-all-4.2.0-bin-release\\store\\consumequeue#消息索引存儲路徑storePathIndex=D:\\04_work_installed\\01_java_tools\\34_Rocketmq_4_2_0\\rocketmq-all-4.2.0-bin-release\\store\\index#checkpoint 文件存儲路徑storeCheckpoint=D:\\04_work_installed\\01_java_tools\\34_Rocketmq_4_2_0\\rocketmq-all-4.2.0-bin-release\\store\\checkpoint#abort 文件存儲路徑abortFile=D:\\04_work_installed\\01_java_tools\\34_Rocketmq_4_2_0\\rocketmq-all-4.2.0-bin-release\\store\\abort
首先將C:\Users\tiannan\store里所有文件遷移出來(否則brocker運行失敗),然后重新運行:
start?mqbroker.cmd?-n?127.0.0.1:9876?autoCreateTopicEnable=true?-c?D:\04_work_installed\01_java_tools\34_Rocketmq_4_2_0\rocketmq-all-4.2.0-bin-release\conf\broker.conf
運行成功后,你會發現rocketmq安裝目錄下生成store文件夾,里面還有生成一些文件,如:
關閉broker后,再將之前的備份拷貝回來:
最好重新重啟broker,打開rocketmq控制臺,又可以看見之前生成的topic等信息了。
在上述配置的內容來看,rocketmq的各端配置、以及消息都是存儲在store里面的,需要保護好該目錄數據。
12.2 查看日志存儲
默認存儲在C:\Users\tiannan\logs\rocketmqlogs文件夾里面,這個日志文件夾以及里面的日志文件,是以下日志配置進行配置的:
xml文件里面都是設置父目錄是 ${user.home}/logs/rocketmqlogs ,所以可以在對應的xml文件里面修改日志存儲位置。
十三、修改mqnamesrv和mqbroker的jvm內存
mqnamesrv.cmd -> runserver.cmd
打開runserver.cmd文件,找到以下內容修改:
set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"##修改為set?"JAVA_OPT=%JAVA_OPT%?-server?-Xms512m?-Xmx512m?-Xmn256m?-XX:MetaspaceSize=128m?-XX:MaxMetaspaceSize=320m"
mqbroker.cmd -> runbroker.cmd打開runbroker.cmd文件,找到以下內容修改:
set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g"##修改為set?"JAVA_OPT=%JAVA_OPT%?-server?-Xms512m?-Xmx512m?-Xmn256m"
或者修改成你需要的內存大小即可。
挺簡單的,對你來說,已經學會了拉。?
關注我,下期繼續!!!