中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Apache RocketMQ如何實現單機部署

發布時間:2021-12-17 14:28:02 來源:億速云 閱讀:140 作者:小新 欄目:云計算

這篇文章主要介紹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如何實現單機部署”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涞水县| 永年县| 收藏| 涟水县| 重庆市| 大厂| 拉萨市| 察隅县| 娄底市| 蛟河市| 洛浦县| 措美县| 修武县| 讷河市| 衡阳市| 嵩明县| 观塘区| 常山县| 罗山县| 丰都县| 宜丰县| 高州市| 兴义市| 黎城县| 永安市| 井冈山市| 荣成市| 永善县| 化州市| 徐闻县| 邹平县| 青阳县| 玉山县| 荆门市| 寿光市| 陵川县| 皮山县| 内黄县| 临江市| 伽师县| 亳州市|