久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Apache RocketMQ如何實現單機部署

134次閱讀
沒有評論

共計 2349 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇文章主要介紹 Apache RocketMQ 如何實現單機部署,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

下載程序包

直接使用一般就下載已經編譯好的二進制文件就好了, 下載好以后

unzip rocketmq-all-4.3.0-bin-release.zip
cd rocketmq-all-4.3.0-bin-release/

啟動 name server

nohup sh bin/mqnamesrv  

tail 一下日志看看是否已經啟動成功
tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success… 

啟動 Broker

nohup sh bin/mqbroker -n localhost:9876  

tail 一下日志看看是否已經啟動成功
tail -f ~/logs/rocketmqlogs/broker.log
The broker[%s, 172.30.30.233:10911] boot success… 

發送消息和接收消息

為了簡單測試下,在發送 / 接收消息之前我們需要設置 NAMESRV_ADDR 環境變量
export NAMESRV_ADDR=localhost:9876

發送消息,測試用例中的方式是使用 for 循環發送了 1000 條消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= … 

接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
SendResult [sendStatus=SEND_OK, msgId= … 

關閉服務

 sh bin/mqshutdown broker 
The mqbroker(36695) is running... 
Send shutdown request to mqbroker(36695) OK
 sh bin/mqshutdown namesrv 
The mqnamesrv(36664) is running... 
Send shutdown request to mqnamesrv(36664) OK

到此,我們已經完成了一個簡單的部署以及消息的發送和接收, 但是這只是在內網下進行的收發消息。

FAQ 怎么修改 name server 和 broker 的啟動內存?

一開始按照官網的步驟來操作往往會直接啟動不起來,提示內存不足,那是因為 name server 和 broker 默認的啟動 JVM 內存是 4G,而內存在不夠的情況下自然就啟動失敗了。

這時候需要修改 name server 和 broker 的啟動內存參數,
broker 的啟動內存參數在 runbroker.sh 下修改,windows 下則是 runbroker.cmd
name server 的啟動內存參數是在 runserver.sh 下修改,windows 下則是 runserver.cmd

需要配置外網訪問要怎么配置呢?

在網上見過很多同學在配置外網訪問的時候出現問題,得到的提示大多是 No Topic Route Info
這種提示一般都是連接失敗了,
1.broker 沒有允許自動創建 topic,且發送消息對應的 topic 不存在
2.broker 沒有正確的連接到 name server
3.product 沒有正確的連接到 name server

對于情況 1,在啟動 broker 的時候添加 autoCreateTopicEnable=true 參數就好了。

情況 2 呢,有可能是 name server 不存在或者是端口沖突,具體可以看日志的報錯原因。

情況 3 的話, 一般是端口原因,如果在服務器上本地收發消息都正常但是到了用客戶端 sdk 發消息的時候失敗了可以首先查看一下端口本地 ping 服務器的 9876 端口和 10911 端口是否正常, 如果正常可以關閉 vip 通道再次嘗試, 以 JAVA 客戶端的話就是下面這樣
生產者關閉 VIP 通道:

producer.setVipChannelEnabled(false);

消費者關閉 VIP 通道:

consumer.setVipChannelEnabled(false);

關閉 VIP 通道為什么就可以了呢,是因為 VIP 通道占用了一個端口,10909 端口, 而服務器的 10909 端口沒有對外開放,所以導致失敗了。

配置文件

這是我的 broker.properties 配置文件

brokerClusterName = DefaultCluster 
brokerName = broker-a 
brokerId = 0 
deleteWhen = 04 
fileReservedTime = 48 
brokerRole = ASYNC_MASTER 
flushDiskType = ASYNC_FLUSH 
brokerIP1=172.17.59.146 
brokerIP2=172.17.59.146 
namesrvAddr=172.17.59.146:5776 
autoCreateTopicEnable=true

因為我沒有使用默認的 9876 端口, 所以也有一個 name server 的配置文件,namesrv.conf

listenPort=5776

也可以直接下載我的 broker.properties 和 namesrv.conf

使用自己的配置文件啟動 name server 和 broker 的時候都是添加一個指定文件的參數 -c 文件路徑

以上是“Apache RocketMQ 如何實現單機部署”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計2349字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 鄂托克前旗| 京山县| 巴林右旗| 全椒县| 远安县| 综艺| 沧州市| 浦县| 绵阳市| 崇礼县| 梓潼县| 霍林郭勒市| 彭山县| 兴海县| 额敏县| 武安市| 宜君县| 南乐县| 兴隆县| 武宁县| 清原| 山西省| 全州县| 九龙坡区| 岫岩| 交口县| 阆中市| 南阳市| 崇明县| 江川县| 阜南县| 碌曲县| 昆明市| 襄垣县| 滁州市| 济源市| 祥云县| 兴文县| 沅陵县| 建始县| 义马市|