RocketMQ4.7 安裝體驗(yàn)

動(dòng)機(jī)背景

早起使用ACTIVEMQ做社交,大數(shù)據(jù)管道,交易及其他后面量大了。根據(jù)我們的預(yù)演,隨著隊(duì)列和虛擬主題的使用,ActiveMQ IO模塊達(dá)到了瓶頸。我們盡力通過節(jié)流、斷路器等來(lái)解決這個(gè)問題,但效果不佳。因此,我們開始關(guān)注當(dāng)時(shí)流行的通訊解決方案Kafka。Kafka不能滿足我們的要求,特別是在低延遲和高可靠性方面。

我們決定發(fā)明一個(gè)新的消息傳遞引擎來(lái)處理更廣泛的用例集,從傳統(tǒng)的發(fā)布/子場(chǎng)景到高容量的實(shí)時(shí)零損失容忍事務(wù)系統(tǒng)RocketMQ,目前有100多家公司在他們的業(yè)務(wù)中使用開源版本的RocketMQ。

The following table demonstrates the comparison between RocketMQ, ActiveMQ and Kafka (Apache’s most popular messaging solutions according to?awesome-java):

主流MQ的對(duì)比

ActiveMQJava,.NET,C++等。推送模型,支持OpenWire,STOMP,AMQP,MQTT,JMS獨(dú)占消費(fèi)者或排他隊(duì)列可以確保訂購(gòu)支撐不支持支撐支撐不支持支持使用jdbc和高性能日志(如Level DB、kahadb)進(jìn)行非??焖俚某志没?。支撐支撐支持,取決于存儲(chǔ),如果使用kahadb,則需要一個(gè)動(dòng)物園管理員服務(wù)器。不支持默認(rèn)配置是低級(jí)別的,用戶需要優(yōu)化配置參數(shù)。支撐

卡夫卡Java,Scala等支持TCP確保分區(qū)內(nèi)消息的順序不支持支持,使用異步生成器不支持支持下,可以使用Kafka流過濾消息。不支持高性能文件存儲(chǔ)支持偏移量不支持支持,需要一個(gè)動(dòng)物園管理員服務(wù)器。不支持Kafka使用鍵值對(duì)格式進(jìn)行配置。這些值可以從文件中提供,也可以以編程方式提供。支持,使用終端命令公開核心指標(biāo)。

RocketMQJava,C++,Go拉模型,支持TCP,JMS,OpenMessage確保嚴(yán)格的消息排序,并能優(yōu)雅地?cái)U(kuò)展。支撐支持同步模式,以避免消息丟失。支撐支持基于SQL 92的屬性篩選表達(dá)式支撐高性能低延遲文件存儲(chǔ)支持時(shí)間戳和偏移量2表示不支持支持,主從模型,沒有其他工具包支撐開箱即用,用戶只需注意幾個(gè)配置即可。支持豐富的web和終端命令來(lái)公開核心指標(biāo)

安裝

1.1安裝jdk8

快速版:yum install -y jdk

https://blog.csdn.net/pang_ping/article/details/80570011

1.2安裝maven

快速版:yum install -y maven

https://www.cnblogs.com/116970u/p/11211963.html

1.3安裝git

快速版:yum install -y git

https://blog.csdn.net/xwj1992930/article/details/96428998

安裝rocketmq 4.7

mkdir /opt/software/

cd /opt/software/

wget https://archive.apache.org/dist/rocketmq/4.7.0/rocketmq-all-4.7.0-source-release.zip

unzip? rocketmq-all-4.7.0-source-release.zip

cd rocketmq-all-4.7.0-source-release/

mvn -Prelease-all -DskipTests clean install -U

修改配置文件(根據(jù)你的內(nèi)存資源豐儉由人)

將三個(gè)文件中的Xms,Xmx,Xmn三個(gè)參數(shù)修改為合適的數(shù)值

cd /opt/software/rocketmq-all-4.7.0-source-release/distribution/target/rocketmq-4.7.0/rocketmq-4.7.0?

vim bin/runserver.sh?

vim bin/runbroker.sh?

vim bin/tools.sh


啟動(dòng)服務(wù)


1,啟動(dòng)rocketmq nameserver

nohup sh bin/mqnamesrv &

tail -f ~/logs/rocketmqlogs/namesrv.log

The Name Server boot success...為成功

2,啟動(dòng)broker

ohup sh bin/mqbroker -n localhost:9876 &

tail -f ~/logs/rocketmqlogs/broker.log

? The broker[%s, 172.30.30.233:10911] boot success...為成功

3,跑腳本演示是否部署成功

> export NAMESRV_ADDR=localhost:9876

> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

出現(xiàn)SendResult [sendStatus=SEND_OK, msgId= ...為發(fā)送成功

> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

出現(xiàn)ConsumeMessageThread_%d Receive New Messages: [MessageExt...為消費(fèi)成功

安裝可視化控制臺(tái)Rocket-NG


cd /opt/software

gitclonehttps://github.com/apache/rocketmq-externals.git

cd/opt/software/rocketmq-externals/rocketmq-console/src/main/resources

vim application.properties

1,修改配置文件

將rocketmq.config.isVIPChannel設(shè)置為false,配置rocketmq.config.namesrvAddr為 本機(jī)地址:9876,可以選擇性修改port或者下一步再命令中指定


2,MVN PACKET

mvn clean package -Dmaven.test.skip=true

3,start ROCKET---MQ...

cd /root/rocketmq-all-4.7.0-source-release/distribution/target/rocketmq-4.7.0/rocketmq-4.7.0

[root@devops172202047 rocketmq-4.7.0]# nohup sh bin/mqnamesrv &

4,start ROCKET---NG...

cd /opt/rocketmq-externals/rocketmq-console/target/

java -jar rocketmq-console-ng-1.0.1.jar &

#或者加入addr和port

java -jar rocketmq-console-ng-1.0.1.jar --server.port=7777 --rocketmq.config.namesrvAddr=localhost:9876 &

5,訪問rocketmq-ng 進(jìn)行操控


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

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

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