linux安裝
查看java版本
java -version
1.8正好,11要修改很多地方。
解壓rocketmq
unzip rocketmq-all-4.5.1-bin-release.zip
移動到opt目錄下,并重命名文件夾為rocketmq。
修改配置文件
/etc/profile文件下加上
ROCKET_HOME=/opt/rocketmq
PATH=$PATH:$ROCKET_HOME/bin
生效命令(需要在rocketmq目錄中?)
. /etc/profile? ? (有空格)
啟動
Please set the JAVA_HOME variable in your environment, We need java(x64)! !!
修改bin/runserver.sh,bin/runbroker.sh,bin/tools.sh文件,改成自己的jdk地址
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java/jdk1.8.0_321
繼續(xù)報錯?VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
內(nèi)存溢出。
還是剛才的三個文件,把內(nèi)存改小
-server -Xms1g -Xmx1g -Xmn256m(自己合適就行)
mqnamesrv? 啟動成功
# 1.啟動Broker ,內(nèi)存還要改小,和namesrv不是共用內(nèi)存的。
mqbroker -n localhost:9876
日志位置
root/logs/rocketmqlogs
關(guān)閉
mqshutdown broker
mqshutdown namesrv
可視化工具rocketmq-externals-rocketmq-console-1.0.0
導(dǎo)入idea后,換成jdk1.8,然后通過命令打包
mvn clean package -DskipTests
然后target目錄下cmd,運行jar包
java -jar?rocketmq-console-ng-1.0.0.jar
跑不起來就直接idea運行吧,懶得改jdk版本了。
連接失敗
修改broker.conf,增加
namesrvAddr = 121.196.1.1:9876
brokerIP1 = 121.196.1.1
重新運行
mqbroker -n localhost:9876 -c conf/broker.conf
還是不行,RocketMQ默認使用3個端口:9876 、10911 、11011?
端口打開,連接成功。
windows安裝
先下載rocketmq,解壓,配置環(huán)境變量
ROCKETMQ_HOME
E:\Program\rocketmq-all-4.5.1-bin-release\rocketmq-all-4.5.1-bin-release
在bin文件夾中
啟動cmd start mqnamesrv.cmd
等到有success
啟動broker
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
autoCreateTopicEnable=true?自動創(chuàng)建主題
沒有l(wèi)inux碰到的麻煩多,可能自己電腦內(nèi)存比云服務(wù)器大
可視化工具下載
https://github.com/apache/rocketmq-externals/archive/rocketmq-console-1.0.0.zip
或
https://github.com/apache/rocketmq-externals.git
編譯E:\WorkSpace\rocketmq-externals-rocketmq-console-1.0.0\rocketmq-externals-rocketmq-console-1.0.0\rocketmq-console
mvn clean package -Dmaven.test.skip=true? 直接雙擊打包會出問題
clean package -DskipTests
運行target
java -jar rocketmq-console-ng-1.0.0.jar
報錯javax/xml/bind/ValidationException? 猜測是默認JDK版本過高,怎么使用JDK8啟動?
過時版本,先湊合用;
解決辦法:直接idea中運行
RocketMQ使用
導(dǎo)入maven包
<rocketmq-spring-boot-starter-version>2.0.3</rocketmq-spring-boot-starter-version>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>${rocketmq-spring-boot-starter-version}</version>
</dependency>
spring項目創(chuàng)建監(jiān)聽類

監(jiān)聽主題和分組
主題topic就是這個監(jiān)聽只會監(jiān)聽這個主題的消息
分組consumerGroup是消費者的分組,如果有多個消費者都是這個分組,那他們就會分工合作,保證不會重復(fù)讀取消息。(消費端自己協(xié)調(diào),和生產(chǎn)端沒關(guān)系)