RocketMQ安裝和使用

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)系)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容