RocketMQ 入門指南

1. 下載安裝

下載地址:

http://rocketmq.apache.org/dowloading/releases/

我下載的是:rocketmq-all-4.5.2-bin-release.zip

https://archive.apache.org/dist/rocketmq/4.5.2/rocketmq-all-4.5.2-bin-release.zip

解壓文件:

unzip rocketmq-all-4.5.2-bin-release.zip
mv rocketmq-all-4.5.2-bin-release /usr/local/rocketmq

默認的 RocketMQ 佔用內存多達 8G,很變態,在阿里雲買的入門級 ECS 根本都跑不起來,需要修改默認 JVM 內存大小,編輯 tool.shrunbroker.shrunserver.sh 三個文件,我本機用於測試,設置的比較小:

JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn64m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m"

2. 啓動 NameServer

默認啓動 NameServer:

nohup sh /usr/local/rocketmq/bin/mqnamesrv &

查看啓動日誌:

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

3. 啓動 Broker

默認啓動 Broker:

nohup sh /usr/local/rocketmq/bin/mqbroker -n 127.0.0.1:9876 &

查看啓動日誌:

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

4. 測試 Producer 和 Consumer

驗證生產消息:

export NAMESRV_ADDR=127.0.0.1:9876
sh /usr/local/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

驗證消費消息:

sh /usr/local/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

5. 停止服務

首先停止 Broker:

sh /usr/local/rocketmq/bin/mqshutdown broker

再停止 NameServer:

sh /usr/local/rocketmq/bin/mqshutdown namesrv

6. 其他命令

查看 Topic:

sh /usr/local/rocketmq/bin/mqadmin topicList -n 127.0.0.1:9876

創建 Topic:

sh /usr/local/rocketmq/bin/mqadmin updateTopic -n 127.0.0.1:9876 -b 127.0.0.1:10911 -t ENSKDEMO

設置自動創建 Topoc:

nohup sh /usr/local/rocketmq/bin/mqbroker -n 127.0.0.1:9876 autoCreateTopicEnable=true &

7. 設置公網訪問

服務器部署了 RocketMQ 之後,本地想訪問需要設置公網 IP,否則會出現 RemotingConnectException:connect to failed 錯誤,設置流程如下。

指定公網 IP 啓動 NameServer:

nohup sh /usr/local/rocketmq/bin/mqnamesrv -n xx.xx.xx.xx:9876 &

xx.xx.xx.xx 爲公網 IP

修改服務器中 Broker 配置,添加公網 IP:

vim /usr/local/rocketmq/conf/broker.conf

最下面新增一行:

brokerIP1=xx.xx.xx.xx  # 你的公網 IP

指定公網 IP 和配置文件啓動 Broker:

nohup sh /usr/local/rocketmq/bin/mqbroker -n xx.xx.xx.xx:9876 -c /usr/local/rocketmq/conf/broker.conf &

公網服務器也需要開通端口,NameServer 默認監聽端口 9876,Broker Master 默認監聽端口 10912,Broker 默認監聽端口 10911,Broker VIP 通道默認監聽端口 10909(關閉VIP通道即可停用該端口)。

作者 Github : tojohnonly , 博客 : EnskDeCode

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章